TailStatic requires a clear domain strategy to work correctly. You need to decide how you will access the dashboard and how your visitors will access your sites.

### The Dashboard Domain

The TailStatic dashboard should have its own dedicated domain or subdomain (e.g., `dashboard.yourdomain.com`). This domain is used exclusively for management and should not be shared with any of the sites you host. 

### Site Domains

Each site you create in TailStatic can have its own domain (e.g., `mysite.com`) or a subdomain of your main domain (e.g., `blog.yourdomain.com`). TailStatic uses "host-based routing" to determine which site to serve when a visitor hits your server.

### Ports and Reverse Proxies

By default, TailStatic listens on internal ports within the Docker network. To serve traffic securely over the internet, you should use a [reverse](/docs/reverse-proxy-and-https) setup like Nginx or Caddy.

* **Internal Port:** The `TailStatic` service typically runs on an internal port (e.g. 5000).
* **External Access:** Your reverse proxy should listen on ports 80 (HTTP) and 443 (HTTPS) **(recommended)** and forward traffic to the internal TailStatic port.

### Forwarded Headers

Because TailStatic sits behind a reverse proxy, it needs to know the original visitor's IP address and whether the connection was made over HTTPS. You must configure your reverse proxy to send the correct "X-Forwarded" headers. 

* `X-Forwarded-For`: The visitor's IP address.
* `X-Forwarded-Proto`: The protocol used (usually `https`).
* `X-Forwarded-Host`: The original host requested by the visitor.

### Next Step

Once you have decided on your dashboard domain, you can proceed with [Docker](/docs/docker-quickstart) setup.


