version: '3.8' services: frontend: build: context: . dockerfile: Dockerfile args: - VITE_MS_CLIENT_ID=${VITE_MS_CLIENT_ID} - VITE_GOOGLE_CLIENT_ID=${VITE_GOOGLE_CLIENT_ID} - VITE_API_URL=${VITE_API_URL:-} ports: - "${FRONTEND_PORT:-80}:80" depends_on: backend: condition: service_healthy restart: unless-stopped healthcheck: test: [ "CMD", "wget", "-q", "--spider", "http://localhost:80" ] interval: 30s timeout: 10s retries: 3 start_period: 10s labels: - "coolify.managed=true" backend: build: context: ./server dockerfile: Dockerfile ports: - "${BACKEND_PORT:-3001}:3001" environment: - PORT=3001 - NODE_ENV=${NODE_ENV:-production} - VITE_MS_CLIENT_ID=${VITE_MS_CLIENT_ID} - MS_CLIENT_SECRET=${MS_CLIENT_SECRET} - VITE_GOOGLE_CLIENT_ID=${VITE_GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - REDIRECT_URI=${REDIRECT_URI} restart: unless-stopped healthcheck: test: [ "CMD", "wget", "-q", "--spider", "http://localhost:3001/health" ] interval: 30s timeout: 10s retries: 3 start_period: 15s labels: - "coolify.managed=true" networks: default: name: cloudstream-network