优化部署配置:修复端口、优化前端依赖、更新docker-compose
Some checks failed
Deploy to Server / deploy (push) Failing after 50m2s

This commit is contained in:
爽哒哒
2026-03-19 18:55:35 +08:00
parent d7a18b209f
commit f33b188922
4 changed files with 37 additions and 109 deletions

View File

@@ -1,36 +1,20 @@
version: '3.8'
services:
# 后端服务 (使用外部数据库,不需要 PostgreSQL 容器)
scoring-backend:
build:
context: ./backend
dockerfile: Dockerfile
backend:
build: ./backend
container_name: cywl-scoring-backend
restart: always
# 使用 gunicorn 替代 runserver提高稳定性并捕获标准输出
command: sh -c "python manage.py collectstatic --noinput && python manage.py migrate && gunicorn --bind 0.0.0.0:8876 --access-logfile - --error-logfile - config.wsgi:application"
volumes:
- ./backend:/app
- ./backend/media:/app/media
- ./backend/static:/app/static
ports:
- "8876:8876"
environment:
- DEBUG=False
- SECRET_KEY=${SECRET_KEY:-your-secret-key-change-this}
- DB_NAME=${DB_NAME:-market}
- DB_USER=${DB_USER:-market}
- DB_PASSWORD=${DB_PASSWORD:-123market}
- DB_HOST=${DB_HOST:-6.6.6.66}
- DB_PORT=${DB_PORT:-5432}
- WECHAT_APPID=${WECHAT_APPID}
- WECHAT_SECRET=${WECHAT_SECRET}
- WECHAT_MCHID=${WECHAT_MCHID}
- WECHAT_API_KEY=${WECHAT_API_KEY}
- ALIYUN_ACCESS_KEY_ID=${ALIYUN_ACCESS_KEY_ID}
- ALIYUN_ACCESS_KEY_SECRET=${ALIYUN_ACCESS_KEY_SECRET}
- ALIYUN_OSS_ENDPOINT=${ALIYUN_OSS_ENDPOINT}
- ALIYUN_OSS_BUCKET_NAME=${ALIYUN_OSS_BUCKET_NAME}
- ALIYUN_TINGWU_APP_KEY=${ALIYUN_TINGWU_APP_KEY}
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
- DB_NAME=sign-up
- DB_USER=sign-up
- DB_PASSWORD=123market
- DB_HOST=6.6.6.66
- DB_PORT=5432
networks:
- scoring_network
healthcheck:
@@ -40,46 +24,30 @@ services:
retries: 3
start_period: 40s
# 前端服务 (Nginx)
scoring-frontend:
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
args:
- VITE_API_URL=/api
container_name: cywl-scoring-frontend
restart: always
# volumes:
# - ./frontend:/app
# - /app/node_modules
ports:
- "8890:8890"
environment:
- VITE_API_URL=http://backend:8876/api
depends_on:
scoring-backend:
backend:
condition: service_healthy
networks:
- scoring_network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/health"]
test: ["CMD", "curl", "-f", "http://localhost:8890/health"]
interval: 30s
timeout: 10s
retries: 3
# Nginx 反向代理 (可选,用于负载均衡和 SSL)
scoring-nginx:
image: nginx:alpine
container_name: cywl-scoring-nginx
restart: always
ports:
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/ssl:/etc/nginx/ssl:ro
depends_on:
- scoring-frontend
- scoring-backend
networks:
- scoring_network
profiles:
- ssl # 只在需要 SSL 时启动
networks:
scoring_network:
driver: bridge