From e900838ed541d73b06911de50f727de91e4f2e60 Mon Sep 17 00:00:00 2001 From: Lu Date: Mon, 28 Apr 2025 17:37:13 +0800 Subject: [PATCH] Removed the local dev.db; updated the docker-compose.yml to create and connect a MySQL container with a single command. --- backend/db/dev.db | Bin 147456 -> 0 bytes docker-compose.yml | 41 +++++++++++++++++++++++++++++------------ 2 files changed, 29 insertions(+), 12 deletions(-) delete mode 100644 backend/db/dev.db diff --git a/backend/db/dev.db b/backend/db/dev.db deleted file mode 100644 index 78a42adc6c8255e76c56453a814ef91a63405a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147456 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
X{KS->Z$W!U)c*N6Y9D6+)%y@H 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 aYJe#AIl?W#O%?vql|?H*LvKmr|NkG?fx!L% diff --git a/docker-compose.yml b/docker-compose.yml index 5c759d2..43d0d6f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,27 +1,39 @@ version: '3' services: + mysql: + image: mysql:8.0 + container_name: mysql-container + environment: + # 请根据实际需求修改密码和数据库名 + MYSQL_ROOT_PASSWORD: root_password + MYSQL_DATABASE: appdb + MYSQL_USER: user + MYSQL_PASSWORD: password + volumes: + - doctranslator-mysql:/var/lib/mysql + networks: + - my-network + backend: - image: eggsunsky/doctranslator:latest + image: doctranslator container_name: backend-container ports: - "5000:5000" - volumes: - - ./backend/db:/app/db environment: - FLASK_ENV=production - SECRET_KEY=your-secret-key - # 数据库配置 PROD_DATABASE_URL=sqlite:////app/db/dev.db - - SQLALCHEMY_DATABASE_URI=sqlite:////app/db/dev.db - # 开发环境数据库(SQLite) - - DEV_DATABASE_URL=sqlite:////app/db/dev.db - # 生产环境数据库(按需配置)sqlite 或者mysql - - PROD_DATABASE_URL=sqlite:////app/db/dev.db - # PROD_DATABASE_URL=mysql+pymysql://user:pwd@localhost/xxxx - # JWT 配置 + # 数据库配置(开发/生产环境均使用 MySQL) + # 原:SQLALCHEMY_DATABASE_URI=sqlite:////app/db/dev.db + - SQLALCHEMY_DATABASE_URI=mysql+pymysql://user:password@mysql:3306/appdb + # 原:DEV_DATABASE_URL=sqlite:////app/db/dev.db + - DEV_DATABASE_URL=mysql+pymysql://user:password@mysql:3306/appdb + # 原:PROD_DATABASE_URL=sqlite:////app/db/dev.db + - PROD_DATABASE_URL=mysql+pymysql://user:password@mysql:3306/appdb + - JWT_SECRET_KEY=sxxxxxx - JWT_ACCESS_TOKEN_EXPIRES=172800 - # 数据库配置 + # 邮件配置 - MAIL_SERVER=smtp.qq.com - MAIL_PORT=587 - MAIL_USE_TLS=true @@ -31,6 +43,8 @@ services: - ALLOWED_EMAIL_DOMAINS=qq.com,163.com,126.com # 跨域 允许的域名 - ALLOWED_DOMAINS=* + depends_on: + - mysql networks: - my-network @@ -50,6 +64,9 @@ services: networks: - my-network +volumes: + doctranslator-mysql: + networks: my-network: driver: bridge