Traefik labels managed by Dokploy UI to avoid duplication. Healthcheck was failing because Alpine resolves localhost to ::1 (IPv6) but Next.js only listens on IPv4. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
730 B
YAML
28 lines
730 B
YAML
version: "3.9"
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
|
|
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
|
|
image: karuracc-test-app:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
- dokploy-network
|
|
environment:
|
|
NODE_ENV: production
|
|
NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
|
|
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 20s
|
|
|
|
networks:
|
|
dokploy-network:
|
|
external: true
|