Documentação

Começa com o HomeGate

Tudo o que precisas para pôr os teus serviços domésticos online.

Primeiros Passos

  1. 1
    Cria uma conta — Regista-te em /register
  2. 2
    Instala o Tailscale — Instala o Tailscale no teu servidor doméstico
  3. 3
    Adiciona um serviço — A partir do painel, adiciona o teu serviço com a tua chave de autenticação Tailscale e o IP de destino
  4. 4
    Fica online — O teu serviço fica acessível via o teu subdomínio *.homegate.sh com SSL automático

Domínios Personalizados

Cada serviço recebe um subdomínio *.homegate.sh gratuito. Para usar o teu próprio domínio, cria um registo CNAME:

# Example: point your domain to your HomeGate subdomain

jellyfin.example.com   CNAME   abc123.homegate.sh

Os certificados SSL são aprovisionados automaticamente assim que o CNAME é verificado. Normalmente demora menos de um minuto.

Domínios raiz: Registos CNAME não podem ser definidos em domínios raiz (por ex., example.com). Usa um subdomínio como stream.example.com, ou usa um fornecedor de DNS que suporte registos ALIAS/ANAME (Cloudflare, Route53).

Referência da API

O HomeGate disponibiliza uma REST API para acesso programático a todas as funcionalidades.

# Base URL

https://api.homegate.sh/v1

# Authentication

Authorization: Bearer <access_token>

# Add a service

POST /v1/services

{"name": "jellyfin", "ts_key": "tskey-auth-xxxx", "target": "100.100.1.5:8096"}

# Add a custom domain

POST /v1/services/:id/domains

{"hostname": "jellyfin.example.com"}

# Add an IP allowlist rule

POST /v1/services/:id/protection

{"type": "ip", "value": "203.0.113.0/24"}

Proteção de Acesso

Lista de IPs Permitidos

Restringe o acesso ao teu serviço por endereço IP ou intervalo CIDR. Apenas pedidos de IPs permitidos chegam ao teu serviço.

Autenticação por Cabeçalho

Exige um cabeçalho personalizado (por ex., X-Auth-Token: my-secret) para todos os pedidos. Útil para serviços que suportam autenticação por cabeçalho como o Immich ou o Jellyfin.

Serviços Suportados

O HomeGate funciona com qualquer serviço baseado em HTTP. Alguns exemplos populares:

Jellyfin :8096
Immich :2283
Plex :32400
Nextcloud :443
Ollama :11434
Vaultwarden :8080
Home Assistant :8123
Gitea :3000
Grafana :3000