nginx includes auth_enabled.conf, (re)written at container start from
BASIC_AUTH_USER/PASSWORD (htpasswd via apache2-utils). Both set => the site +
/api require a shared login; unset => open (local dev not locked out). Set both
on the Coolify web service to protect the deployment.
Coolify honors host port bindings in the compose and the host already has :80
(its own proxy) and :8000 allocated, so publishing them fails the deploy at
container start. Switch web/api to expose-only; nginx still reaches api over the
compose network, and Coolify routes the domain via docker_compose_domains. Add a
docker-compose.override.yml so local 'docker compose up' still publishes ports.
Vite + Vue 3 + DaisyUI SPA (project picker + Slack avatar member grid) with a
TypeScript/Node (Hono) backend proxying Napta + Slack, SQLite avatar cache via
node:sqlite, and docker-compose for Coolify deploy.