services: camptickets: build: . image: camptickets:latest container_name: camptickets # Single source of truth for secrets — edit backend/.env, then # `docker compose up -d`. (Was ./.env; consolidated to avoid a stale copy.) env_file: backend/.env environment: # Container always listens on 8080 internally; the host mapping below is # what nginx proxies to. Keep this fixed regardless of .env PORT. PORT: "8080" HOST: "0.0.0.0" ports: # Bind to localhost only — nginx (on the host) terminates TLS for # scan.beartariacampgrounds.com and proxies to this port. - "127.0.0.1:${HOST_PORT:-8091}:8080" # NocoDB runs elsewhere (its own container/host). If it is on THIS host, # host.docker.internal resolves to the host gateway. extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped