mirror of
https://origin.cursor.com/mrdevmx/panels.git
synced 2026-10-09 14:33:17 +00:00
67 lines
1.5 KiB
YAML
67 lines
1.5 KiB
YAML
# Coolify / local — 3 services, SQLite en volumen panel-data
|
|
services:
|
|
api:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.api
|
|
restart: unless-stopped
|
|
environment:
|
|
PORT: ${PORT:-8000}
|
|
SESSION_SECRET: ${SESSION_SECRET}
|
|
DOCS_KEY: ${DOCS_KEY}
|
|
SEED_PASSWORD: ${SEED_PASSWORD}
|
|
API_KEY: ${API_KEY:-}
|
|
PANEL_LOGIN_URL: ${PANEL_LOGIN_URL}
|
|
COOKIE_SECURE: ${COOKIE_SECURE:-true}
|
|
CORS_ORIGINS: ${CORS_ORIGINS:-}
|
|
VCARD_BASE: ${VCARD_BASE:-}
|
|
SMTP_HOST: ${SMTP_HOST:-}
|
|
SMTP_PORT: ${SMTP_PORT:-587}
|
|
SMTP_USER: ${SMTP_USER:-}
|
|
SMTP_PASS: ${SMTP_PASS:-}
|
|
SMTP_FROM: ${SMTP_FROM:-}
|
|
volumes:
|
|
- panel-data:/app/data
|
|
expose:
|
|
- "8000"
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"deno",
|
|
"eval",
|
|
"const r=await fetch('http://127.0.0.1:'+(Deno.env.get('PORT')||'8000')+'/v1/health'); if(!r.ok) Deno.exit(1)",
|
|
]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 45s
|
|
|
|
web-panel:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.web-panel
|
|
restart: unless-stopped
|
|
depends_on:
|
|
api:
|
|
condition: service_healthy
|
|
ports:
|
|
- "80"
|
|
expose:
|
|
- "80"
|
|
|
|
web-saas:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.web-saas
|
|
restart: unless-stopped
|
|
depends_on:
|
|
api:
|
|
condition: service_healthy
|
|
ports:
|
|
- "80"
|
|
expose:
|
|
- "80"
|
|
|
|
volumes:
|
|
panel-data:
|