nkbmusic/server/docker-compose.nk.yml
metatroncubeswdev d368880601 Add NK Admin web container on 127.0.0.1:18080 with placeholder page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:51:14 -04:00

51 lines
2.1 KiB
YAML

# Nanga Kathai overrides, layered after docker-compose.yml (COMPOSE_FILE in .env).
# Copied into the Supabase project folder by install.sh.
# Default: the server's own web server (nginx / HestiaCP) does HTTPS and proxies
# https://<domain> to 127.0.0.1:${API_GW_HTTP_PORT}. For a server with nothing on
# ports 80/443, install.sh also layers docker-compose.nk-caddy.yml instead.
services:
# The API gateway, reachable from this server only (the reverse proxy forwards to it).
api-gw:
ports: !override
- 127.0.0.1:${API_GW_HTTP_PORT:-18000}:8000/tcp
# Serves the email templates inside the Docker network only.
nk-mail-templates:
image: nginx:1.27-alpine
restart: unless-stopped
volumes:
- ./nk/email-templates:/usr/share/nginx/html:ro
# NK Admin website (static files). The server's web server proxies
# https://admin.<domain> to 127.0.0.1:${NK_ADMIN_PORT}. It talks to the API above;
# only admin accounts can change anything (enforced by the database).
nk-admin:
image: nginx:1.27-alpine
restart: unless-stopped
ports:
- 127.0.0.1:${NK_ADMIN_PORT:-18080}:80
volumes:
- ./nk/admin:/usr/share/nginx/html:ro
- ./nk/nginx/admin.conf:/etc/nginx/conf.d/default.conf:ro
# Send a 6-digit code (not a link) for passwordless email sign-in.
auth:
depends_on:
nk-mail-templates:
condition: service_started
environment:
GOTRUE_MAILER_TEMPLATES_MAGIC_LINK: http://nk-mail-templates/magic_link.html
GOTRUE_MAILER_TEMPLATES_CONFIRMATION: http://nk-mail-templates/confirmation.html
GOTRUE_MAILER_SUBJECTS_MAGIC_LINK: "Your Nanga Kathai sign-in code"
GOTRUE_MAILER_TEMPLATES_RECOVERY: http://nk-mail-templates/recovery.html
GOTRUE_MAILER_SUBJECTS_CONFIRMATION: "Confirm your Nanga Kathai account"
GOTRUE_MAILER_SUBJECTS_RECOVERY: "Reset your Nanga Kathai password"
GOTRUE_PASSWORD_MIN_LENGTH: "8"
# Postgres is reachable from the server itself only, never from the internet.
supavisor:
ports: !override
- 127.0.0.1:${NK_DB_PORT:-15432}:5432
- 127.0.0.1:${NK_POOLER_PORT:-16543}:6543