chore: initialize tuhui repository
This commit is contained in:
54
backend/docker-compose.yml
Normal file
54
backend/docker-compose.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
version: '3.8'
|
||||
|
||||
networks:
|
||||
aishej_dev_network:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
container_name: aishej_mysql_dev
|
||||
restart: always
|
||||
networks:
|
||||
- aishej_dev_network
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: rootpassword123
|
||||
MYSQL_DATABASE: aishej_dev
|
||||
MYSQL_USER: aishej_dev
|
||||
MYSQL_PASSWORD: aishej_dev_123
|
||||
ports:
|
||||
- "3307:3306" # 使用3307端口避免冲突
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
- ./init_mysql.sql:/docker-entrypoint-initdb.d/init.sql
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
api:
|
||||
build: .
|
||||
container_name: aishej_api_dev
|
||||
restart: always
|
||||
networks:
|
||||
- aishej_dev_network
|
||||
ports:
|
||||
- "8001:8001" # 使用8001端口避免冲突
|
||||
volumes:
|
||||
- ./app:/app/app # 挂载整个app目录
|
||||
- ./uploads:/app/uploads
|
||||
- ./seed_data.py:/app/seed_data.py
|
||||
- ./download_test_images.py:/app/download_test_images.py
|
||||
environment:
|
||||
DATABASE_URL: mysql+pymysql://aishej_dev:aishej_dev_123@mysql:3306/aishej_dev
|
||||
API_PORT: "8001"
|
||||
PYTHONUNBUFFERED: "1" # Python不缓冲输出
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
command: sh -c "sleep 10 && uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload"
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
name: aishej_dev_mysql_data
|
||||
Reference in New Issue
Block a user