40 lines
981 B
YAML
40 lines
981 B
YAML
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"
|