chore(ci): add offline container deployment pipeline
This commit is contained in:
@@ -11,8 +11,8 @@ name: geo-rankly
|
||||
|
||||
x-app-env: &app-env
|
||||
CONFIG_PATH: /app/configs/config.yaml
|
||||
LLM_API_KEY: ${LLM_API_KEY}
|
||||
SILICONFLOW_API_KEY: ${SILICONFLOW_API_KEY}
|
||||
LLM_API_KEY: ${LLM_API_KEY:-}
|
||||
SILICONFLOW_API_KEY: ${SILICONFLOW_API_KEY:-}
|
||||
JWT_SECRET: ${JWT_SECRET:-change-me-in-production}
|
||||
JWT_ACCESS_TTL: ${JWT_ACCESS_TTL:-15m}
|
||||
JWT_REFRESH_TTL: ${JWT_REFRESH_TTL:-720h}
|
||||
@@ -87,7 +87,7 @@ services:
|
||||
volumes:
|
||||
- rabbitmq_data:/var/lib/rabbitmq
|
||||
ports:
|
||||
- "${RABBITMQ_MGMT_PORT:-15672}:15672"
|
||||
- "${RABBITMQ_MGMT_PORT:-15673}:15672"
|
||||
healthcheck:
|
||||
test: ["CMD", "rabbitmq-diagnostics", "ping"]
|
||||
interval: 10s
|
||||
@@ -120,7 +120,7 @@ services:
|
||||
volumes:
|
||||
- minio_data:/data
|
||||
ports:
|
||||
- "${MINIO_CONSOLE_PORT:-9001}:9001"
|
||||
- "${MINIO_CONSOLE_PORT:-19001}:9001"
|
||||
|
||||
# ─── MinIO bucket initializer (one-shot) ────────────────────────────────────
|
||||
minio-init:
|
||||
@@ -181,9 +181,9 @@ services:
|
||||
volumes: *app-volumes
|
||||
depends_on: *app-depends
|
||||
ports:
|
||||
- "${API_PORT:-8080}:8080"
|
||||
- "${API_PORT:-18081}:8080"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://localhost:8080/health || exit 1"]
|
||||
test: ["CMD-SHELL", "wget -qO- http://localhost:8080/api/health/live || exit 1"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
@@ -204,6 +204,21 @@ services:
|
||||
volumes: *app-volumes
|
||||
depends_on: *app-depends
|
||||
|
||||
kol-assist-worker:
|
||||
image: ${IMAGE_REGISTRY:-ghcr.io/your-org/geo-rankly}/kol-assist-worker:${IMAGE_TAG:-latest}
|
||||
container_name: geo-kol-assist-worker
|
||||
build:
|
||||
context: ../server
|
||||
dockerfile: Dockerfile
|
||||
target: runtime
|
||||
args:
|
||||
SERVICE: kol-assist-worker
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
<<: *app-env
|
||||
volumes: *app-volumes
|
||||
depends_on: *app-depends
|
||||
|
||||
scheduler:
|
||||
image: ${IMAGE_REGISTRY:-ghcr.io/your-org/geo-rankly}/scheduler:${IMAGE_TAG:-latest}
|
||||
container_name: geo-scheduler
|
||||
@@ -246,7 +261,7 @@ services:
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
ports:
|
||||
- "${OPS_API_PORT:-8090}:8090"
|
||||
- "${OPS_API_PORT:-18090}:8090"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://localhost:8090/api/health/live || exit 1"]
|
||||
interval: 10s
|
||||
@@ -267,7 +282,20 @@ services:
|
||||
tenant-api:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- "${FRONTEND_PORT:-80}:80"
|
||||
- "${FRONTEND_PORT:-18080}:80"
|
||||
|
||||
ops-web:
|
||||
image: ${IMAGE_REGISTRY:-ghcr.io/your-org/geo-rankly}/ops-web:${IMAGE_TAG:-latest}
|
||||
container_name: geo-ops-web
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: Dockerfile.ops-web
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
ops-api:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- "${OPS_WEB_PORT:-18082}:80"
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
|
||||
Reference in New Issue
Block a user