1.4 KiB
1.4 KiB
Server deployment
The production image builds the Webpack site with Node and serves the generated dist/ directory with Nginx. The container does not publish a host port; Traefik reaches it over an external Docker network.
Defaults
| Setting | Default |
|---|---|
| Domain | fiwlabs.dev |
| Traefik network | proxy |
| HTTPS entrypoint | websecure |
| Certificate resolver | porkbun |
Compose reads overrides from .env. The available keys and defaults are documented in .env.example.
Prerequisites
- Point the
Aand optionalAAAArecords forfiwlabs.devto the server. - Ensure Traefik has its Docker provider enabled.
- Attach Traefik to the same external network configured by
TRAEFIK_NETWORK. - Ensure the configured certificate resolver exists in Traefik.
Create the default shared network once if the Traefik stack has not already created it:
docker network create proxy
Deploy
Validate the resolved Compose configuration:
docker compose -f docker-compose.yml config
Build and start the site:
docker compose -f docker-compose.yml up --build -d
Check container health and logs:
docker compose -f docker-compose.yml ps
docker compose -f docker-compose.yml logs -f fiws-page
The container exposes /healthz internally for Docker health checks. Traefik serves the site at https://fiwlabs.dev; the server's web entrypoint redirects HTTP requests to HTTPS globally.