Get started with HomeGate
Everything you need to get your home services live.
Getting Started
- 1 Create an account — Sign up at /register
- 2 Install Tailscale — Install Tailscale on your home server
- 3 Add a service — From the dashboard, add your service with your Tailscale auth key and target IP
- 4 Go live — Your service is accessible via your *.homegate.sh subdomain with auto SSL
Custom Domains
Every service gets a free *.homegate.sh subdomain. To use your own domain, create a CNAME record:
# Example: point your domain to your HomeGate subdomain
jellyfin.example.com CNAME abc123.homegate.sh
SSL certificates are provisioned automatically once the CNAME is verified. Usually takes less than a minute.
Bare domains: CNAME records cannot be set on root domains (e.g., example.com). Use a subdomain like stream.example.com, or use a DNS provider that supports ALIAS/ANAME records (Cloudflare, Route53).
API Reference
HomeGate provides a REST API for programmatic access to all features.
# 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"}
Access Protection
IP Allowlisting
Restrict access to your service by IP address or CIDR range. Only requests from allowed IPs will reach your service.
Header Authentication
Require a custom header (e.g., X-Auth-Token: my-secret) for all requests. Useful for services that support header-based authentication like Immich or Jellyfin.
Supported Services
HomeGate works with any HTTP-based service. Some popular examples: