ci:add deployments
Some checks failed
Build and Push API / build-api (push) Failing after 44m22s
Build and Push Dashboard / build-dashboard (push) Has been cancelled
Build and Push Worker / build-worker (push) Has been cancelled

This commit is contained in:
2026-03-31 15:54:58 +02:00
parent 9b197abcfa
commit fcb4cf5fb0
4 changed files with 307 additions and 0 deletions

144
docker-compose.prod.yml Normal file
View File

@@ -0,0 +1,144 @@
services:
op-db:
image: postgres:18.3-alpine
restart: always
volumes:
- op-db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres}
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
op-kv:
image: redis:8.6.2-alpine
restart: always
volumes:
- op-kv-data:/data
command: ["redis-server", "--maxmemory-policy", "noeviction"]
healthcheck:
test: ["CMD-SHELL", "redis-cli ping"]
interval: 10s
timeout: 5s
retries: 5
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
op-ch:
image: clickhouse/clickhouse-server:26.3.2.3
restart: always
environment:
- CLICKHOUSE_DEFAULT_PASSWORD=${CLICKHOUSE_PASSWORD:-clickhouse}
volumes:
- op-ch-data:/var/lib/clickhouse
- op-ch-logs:/var/log/clickhouse-server
- ./self-hosting/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/op-config.xml:ro
- ./self-hosting/clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/op-user-config.xml:ro
- ./self-hosting/clickhouse/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh:ro
healthcheck:
test: ["CMD-SHELL", "clickhouse-client --query 'SELECT 1'"]
interval: 10s
timeout: 5s
retries: 5
ulimits:
nofile:
soft: 262144
hard: 262144
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
op-api:
image: git.zias.be/zias/openpanel-api:latest
restart: always
ports:
- "3001:3000"
command: >
sh -c "
echo 'Running migrations...'
CI=true pnpm -r run migrate:deploy
pnpm start
"
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3000/healthcheck || exit 1"]
interval: 10s
timeout: 5s
retries: 5
depends_on:
op-db:
condition: service_healthy
op-ch:
condition: service_healthy
op-kv:
condition: service_healthy
env_file:
- .env.prod
logging:
driver: "json-file"
options:
max-size: "50m"
max-file: "3"
op-dashboard:
image: git.zias.be/zias/openpanel-dashboard:latest
restart: always
ports:
- "3000:3000"
depends_on:
op-api:
condition: service_healthy
env_file:
- .env.prod
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3000/api/healthcheck || exit 1"]
interval: 10s
timeout: 5s
retries: 5
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "3"
op-worker:
image: git.zias.be/zias/openpanel-worker:latest
restart: always
depends_on:
op-api:
condition: service_healthy
env_file:
- .env.prod
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3000/healthcheck || exit 1"]
interval: 10s
timeout: 5s
retries: 5
logging:
driver: "json-file"
options:
max-size: "30m"
max-file: "3"
volumes:
op-db-data:
driver: local
op-kv-data:
driver: local
op-ch-data:
driver: local
op-ch-logs:
driver: local