31 lines
1.3 KiB
YAML
31 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
|
|
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}
|
|
# Only needed if you ever use the server-side admin (service-role) client.
|
|
# Set it in Dockge's env editor, never commit it:
|
|
# SUPABASE_SERVICE_ROLE_KEY: ${SUPABASE_SERVICE_ROLE_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
|