🐳 Docker-Compose 部署
1.新建docker-compose.yml
文件内容如下
yml
version: '3'
services:
backend:
image: eggsunsky/doctranslator:latest
container_name: backend-container
ports:
- "5000:5000"
volumes:
- ./backend/db:/app/db
environment:
- FLASK_ENV=production
- SECRET_KEY=your-secret-key
# 数据库配置 PROD_DATABASE_URL=mysql+pymysql://user:pwd@localhost/xxxx
- SQLALCHEMY_DATABASE_URI=mysql+pymysql://user:pwd@localhost/xxxx
# 开发环境数据库(SQLite)
- DEV_DATABASE_URL=mysql+pymysql://user:pwd@localhost/xxxx
# 生产环境数据库 MySQL
# 注意连接格式
PROD_DATABASE_URL=mysql+pymysql://user:pwd@localhost/xxxx
# JWT 配置
- JWT_SECRET_KEY=sxxxxxx
- JWT_ACCESS_TOKEN_EXPIRES=172800
# 数据库配置
- MAIL_SERVER=smtp.qq.com
- MAIL_PORT=587
- MAIL_USE_TLS=true
- MAIL_USERNAME=xxxx@qq.com
- MAIL_PASSWORD=xxxxxx
- MAIL_DEFAULT_SENDER=ixxxx@qq.com
- ALLOWED_EMAIL_DOMAINS=qq.com,163.com,126.com
# 跨域 允许的域名
- ALLOWED_DOMAINS=*
networks:
- my-network
nginx:
image: nginx:stable-alpine
container_name: nginx-container
ports:
- "1475:80"
- "8081:8081"
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
- ./frontend/dist:/usr/share/nginx/html/frontend
- ./admin/dist:/usr/share/nginx/html/admin
depends_on:
- backend
networks:
- my-network
networks:
my-network:
driver: bridge
2.启动项目
shell
cd DocTranslator
docker-compose up -d
3.更新项目
shell
cd /DocTranslator
docker compose down
git pull
docker compose pull
docker compose up -d
4. 访问服务
默认账号密码admin 123456