Files
info-share-spot/docker-compose.yml
T
adminandClaude Opus 4.8 73a4e70f0b Parent hand-off: admin creates parent/teacher accounts + portal edit
- Admin server function (service-role) to create accounts, set role, and
  optionally link a parent to a student; wired via env_file (.env.secret)
- Admin > Users: "Add a user" form (teacher/parent/admin) with one-time temp password
- Student profile > Family: "Parent portal access" — create + link a parent login
- Parents can now edit their own child's profile (RLS-scoped); internal notes stay admin-only

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 16:30:56 -04:00

32 lines
1.3 KiB
YAML

# Deploy stack for the Hostinger VPS (Docker + Dockge + Traefik).
# Lives in Dockge's stacks dir (/docker/info-share-spot) so Dockge manages it.
#
# Traefik on this VPS runs in host-network mode with the Docker provider, so the
# app just needs traefik.enable + a router; no shared "traefik" network is needed.
# It's served at the VPS wildcard hostname with automatic Let's Encrypt HTTPS.
services:
app:
build: .
image: info-share-spot:latest
container_name: info-share-spot
restart: unless-stopped
# Runtime secrets (SUPABASE_SERVICE_ROLE_KEY) live here — gitignored, not in the repo.
env_file:
- path: .env.secret
required: false
environment:
# SSR runtime vars (public-safe). Compose substitutes these from the .env
# file next to this compose file.
SUPABASE_URL: ${SUPABASE_URL}
SUPABASE_PUBLISHABLE_KEY: ${SUPABASE_PUBLISHABLE_KEY}
HOST: 0.0.0.0
PORT: 3000
labels:
- traefik.enable=true
- traefik.http.routers.infoshare.rule=Host(`info-share-spot.srv1720881.hstgr.cloud`)
- traefik.http.routers.infoshare.entrypoints=websecure
- traefik.http.routers.infoshare.tls=true
- traefik.http.routers.infoshare.tls.certresolver=letsencrypt
- traefik.http.services.infoshare.loadbalancer.server.port=3000