containerize frontend with multi-stage nginx build for Coolify

This commit is contained in:
2026-08-18 15:48:52 +07:00
parent aee5124a2d
commit 4c56279c23
5 changed files with 163 additions and 21 deletions
+39
View File
@@ -0,0 +1,39 @@
services:
web:
build:
context: .
target: runtime
args:
# Build-time only: Vite bakes these into the bundle.
VITE_API_BASE_URL: ${VITE_API_BASE_URL}
VITE_RECAPTCHA_SITE_KEY: ${VITE_RECAPTCHA_SITE_KEY}
restart: unless-stopped
# Coolify's proxy reaches this over the internal network; no host ports.
expose:
- "8080"
environment:
# Consumed by Coolify to route the domain at the right container port.
SERVICE_URL_WEB: ${SERVICE_URL_WEB:-}
security_opt:
- no-new-privileges:true
read_only: true
tmpfs:
- /tmp
- /var/cache/nginx
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/healthz"]
interval: 30s
timeout: 3s
start_period: 5s
retries: 3
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"