new changes
This commit is contained in:
@@ -55,6 +55,73 @@ services:
|
||||
volumes:
|
||||
- yakpanel_minio_data:/data
|
||||
|
||||
# Full web control panel: FastAPI (service hostname "backend" for nginx upstream)
|
||||
backend:
|
||||
build: ./YakPanel-server/backend
|
||||
container_name: yakpanel-panel-api
|
||||
restart: unless-stopped
|
||||
command:
|
||||
[
|
||||
"sh",
|
||||
"-lc",
|
||||
"python scripts/seed_admin.py && exec uvicorn app.main:app --host 0.0.0.0 --port 8888",
|
||||
]
|
||||
volumes:
|
||||
- ./YakPanel-server/backend:/app
|
||||
- yakpanel_panel_data:/app/data
|
||||
environment:
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
DATABASE_URL: sqlite+aiosqlite:///./data/default.db
|
||||
CORS_EXTRA_ORIGINS: ${PANEL_CORS_EXTRA_ORIGINS:-}
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
panel-worker:
|
||||
build: ./YakPanel-server/backend
|
||||
container_name: yakpanel-panel-worker
|
||||
restart: unless-stopped
|
||||
command: ["celery", "-A", "app.tasks.celery_app", "worker", "-l", "info"]
|
||||
volumes:
|
||||
- ./YakPanel-server/backend:/app
|
||||
- yakpanel_panel_data:/app/data
|
||||
environment:
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
DATABASE_URL: sqlite+aiosqlite:///./data/default.db
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
backend:
|
||||
condition: service_started
|
||||
|
||||
panel-scheduler:
|
||||
build: ./YakPanel-server/backend
|
||||
container_name: yakpanel-panel-scheduler
|
||||
restart: unless-stopped
|
||||
command: ["celery", "-A", "app.tasks.celery_app", "beat", "-l", "info"]
|
||||
volumes:
|
||||
- ./YakPanel-server/backend:/app
|
||||
- yakpanel_panel_data:/app/data
|
||||
environment:
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
DATABASE_URL: sqlite+aiosqlite:///./data/default.db
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
backend:
|
||||
condition: service_started
|
||||
|
||||
panel-ui:
|
||||
build:
|
||||
context: ./YakPanel-server/frontend
|
||||
dockerfile: Dockerfile
|
||||
container_name: yakpanel-panel-frontend
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${PANEL_UI_PORT}:80"
|
||||
depends_on:
|
||||
- backend
|
||||
|
||||
api:
|
||||
image: php:8.3-cli-alpine
|
||||
container_name: yakpanel-api
|
||||
@@ -85,6 +152,50 @@ services:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
container_name: yakpanel-prometheus
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- --config.file=/etc/prometheus/prometheus.yml
|
||||
- --storage.tsdb.path=/prometheus
|
||||
volumes:
|
||||
- ./deploy/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- yakpanel_prometheus_data:/prometheus
|
||||
ports:
|
||||
- "${PROMETHEUS_PORT}:9090"
|
||||
depends_on:
|
||||
- cadvisor
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: yakpanel-grafana
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER}
|
||||
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD}
|
||||
GF_USERS_ALLOW_SIGN_UP: "false"
|
||||
volumes:
|
||||
- yakpanel_grafana_data:/var/lib/grafana
|
||||
- ./deploy/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
|
||||
ports:
|
||||
- "${GRAFANA_PORT}:3000"
|
||||
depends_on:
|
||||
- prometheus
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: yakpanel-cadvisor
|
||||
restart: unless-stopped
|
||||
privileged: true
|
||||
ports:
|
||||
- "${CADVISOR_PORT}:8080"
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:rw
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
|
||||
db-migrate:
|
||||
image: postgres:16-alpine
|
||||
container_name: yakpanel-db-migrate
|
||||
@@ -108,3 +219,6 @@ volumes:
|
||||
yakpanel_postgres_data:
|
||||
yakpanel_redis_data:
|
||||
yakpanel_minio_data:
|
||||
yakpanel_panel_data:
|
||||
yakpanel_prometheus_data:
|
||||
yakpanel_grafana_data:
|
||||
|
||||
Reference in New Issue
Block a user