57 lines
2.4 KiB
YAML
57 lines
2.4 KiB
YAML
---
|
|
# Production Deployment with Rolling Update
|
|
services:
|
|
vitron-frontend-prod:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: production
|
|
container_name: vitron-frontend-prod
|
|
environment:
|
|
- NODE_ENV=production
|
|
- VITE_API_BASE_URL=${VITE_API_BASE_URL:-https://api.prod.vitrown.com}
|
|
- VITE_API_SOCKET_BASE_URL=${VITE_API_SOCKET_BASE_URL:-wss://api.prod.vitrown.com}
|
|
- VITE_APP_VERSION_TYPE=${VITE_APP_VERSION_TYPE:-production}
|
|
- VITE_API_URL=${VITE_API_URL:-https://api.prod.vitrown.com}
|
|
- VITE_SITE_URL=${VITE_SITE_URL:-https://vitrown.com}
|
|
- VITE_DOMAIN_URL=${VITE_DOMAIN_URL:-https://vitrown.com}
|
|
- VITE_SUPPORT_PHONE=${VITE_SUPPORT_PHONE:-+989223740993}
|
|
- REMIX_SECRET=${REMIX_SECRET:-prod-secret-key-please-change-in-production}
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.frontprod.entrypoints=http"
|
|
- "traefik.http.routers.frontprod.rule=Host(`vitrown.com`)"
|
|
- "traefik.http.middlewares.frontprod-https-redirect.redirectscheme.scheme=https"
|
|
- "traefik.http.routers.frontprod.middlewares=frontprod-https-redirect"
|
|
- "traefik.http.routers.frontprod-secure.entrypoints=https"
|
|
- "traefik.http.routers.frontprod-secure.rule=Host(`vitrown.com`)"
|
|
- "traefik.http.routers.frontprod-secure.tls=true"
|
|
- "traefik.http.routers.frontprod-secure.service=frontprod"
|
|
- "traefik.http.services.frontprod.loadbalancer.server.port=3000"
|
|
- "traefik.docker.network=proxy"
|
|
# Security headers
|
|
- "traefik.http.middlewares.frontprod-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
|
|
- "traefik.http.middlewares.frontprod-headers.headers.customresponseheaders.X-Robots-Tag=index,follow"
|
|
- "traefik.http.middlewares.frontprod-headers.headers.customresponseheaders.X-Frame-Options=SAMEORIGIN"
|
|
- "traefik.http.middlewares.frontprod-headers.headers.customresponseheaders.X-Content-Type-Options=nosniff"
|
|
- "traefik.http.routers.frontprod-secure.middlewares=frontprod-headers"
|
|
restart: unless-stopped
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
reservations:
|
|
memory: 256M
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|