Files
tablejerseys-web/docker-compose.yml
Frank John Begornia 35fc78ff32
Some checks failed
Deploy Production / deploy (push) Failing after 51s
fix: update healthcheck command and comment out port mapping for Traefik
2026-01-12 23:42:05 +08:00

53 lines
2.1 KiB
YAML

services:
tablejerseys-web:
build:
context: .
dockerfile: Dockerfile
container_name: tablejerseys-web
# ports:
# - "80:3000" # Not needed when using Traefik
environment:
- NODE_ENV=production
# Add your environment variables here
- NUXT_PUBLIC_FIREBASE_API_KEY=${NUXT_PUBLIC_FIREBASE_API_KEY}
- NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN=${NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN}
- NUXT_PUBLIC_FIREBASE_PROJECT_ID=${NUXT_PUBLIC_FIREBASE_PROJECT_ID}
- NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET=${NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET}
- NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=${NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID}
- NUXT_PUBLIC_FIREBASE_APP_ID=${NUXT_PUBLIC_FIREBASE_APP_ID}
- NUXT_PUBLIC_STORAGE_URL=${NUXT_PUBLIC_STORAGE_URL}
- NUXT_PUBLIC_BACKEND_URL=${NUXT_PUBLIC_BACKEND_URL}
- NUXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=${NUXT_PUBLIC_STRIPE_PUBLISHABLE_KEY}
- STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.tablejerseys-web.rule=Host(`${DOMAIN:-tablejerseys.com}`)"
- "traefik.http.routers.tablejerseys-web.entrypoints=websecure"
- "traefik.http.routers.tablejerseys-web.tls=true"
- "traefik.http.routers.tablejerseys-web.tls.certresolver=le"
- "traefik.http.services.tablejerseys-web.loadbalancer.server.port=3000"
# HTTP to HTTPS redirect
- "traefik.http.routers.tablejerseys-web-http.rule=Host(`${DOMAIN:-tablejerseys.com}`)"
- "traefik.http.routers.tablejerseys-web-http.entrypoints=web"
- "traefik.http.routers.tablejerseys-web-http.middlewares=https-redirect"
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
networks:
- traefik-public
- crew-app-net
- tablejerseys-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
traefik-public:
external: true
crew-app-net:
external: true
tablejerseys-network:
driver: bridge