# 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