Refactor Gitea production deployment process to utilize SSH for remote operations
Deploy production / deploy (push) Failing after 8s

- Updated deployment specification to reflect the new architecture involving servers A, B, and C.
- Revised README to describe the new deployment method using Gitea Runner and SSH.
- Modified `compose.production.yaml` to remove build context and use image tags directly.
- Enhanced deployment documentation to clarify configuration steps and environment variable requirements.
- Introduced `deploy-remote.sh` script for handling remote deployment tasks over SSH.
- Added unit tests for deployment scripts to ensure robustness and error handling.
- Updated `deploy-production.sh` to streamline image pulling and deployment processes.
This commit is contained in:
yuxuanhui
2026-09-24 23:47:07 +08:00
parent 69c19ed25f
commit 99bc36439e
9 changed files with 491 additions and 76 deletions
+2 -15
View File
@@ -13,10 +13,7 @@ x-container-logging: &container-logging
max-file: "5"
x-backend: &backend
image: wq-alpha-production-backend:${DEPLOY_TAG:-local}
build:
context: .
dockerfile: Dockerfile.backend
image: ${IMAGE_PREFIX:?Set the Gitea registry/owner/image prefix}-backend:${DEPLOY_TAG:?Set the published release tag}
environment:
DATABASE_URL: ${DATABASE_URL:?Set the Gitea DATABASE_URL secret}
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
@@ -32,9 +29,6 @@ x-backend: &backend
AI_OUTPUT_TOKENS: ${AI_OUTPUT_TOKENS:-4096}
AI_TIMEOUT: ${AI_TIMEOUT:-180}
WQ_BASE_URL: ${WQ_BASE_URL:-https://api.worldquantbrain.com}
networks:
- default
- database
services:
backend:
@@ -67,10 +61,7 @@ services:
<<: *observability-labels
observability.service: "web"
logging: *container-logging
image: wq-alpha-production-web:${DEPLOY_TAG:-local}
build:
context: .
dockerfile: Dockerfile.frontend
image: ${IMAGE_PREFIX:?Set the Gitea registry/owner/image prefix}-web:${DEPLOY_TAG:?Set the published release tag}
environment:
SITE_ADDRESS: http://:80
ports:
@@ -89,10 +80,6 @@ services:
start_period: 10s
restart: unless-stopped
networks:
database:
external: true
name: ${DATABASE_NETWORK:?Set the existing PostgreSQL Docker network}
volumes:
caddy_data:
caddy_config: