Files
aitsc/docker-compose.simple.yml

78 lines
1.7 KiB
YAML
Raw Normal View History

version: '3.3'
services:
# Flask应用服务
app:
build:
context: .
dockerfile: Dockerfile
image: flask-prompt-master:latest
container_name: flask-prompt-master-app
restart: unless-stopped
environment:
- FLASK_ENV=production
- DATABASE_URL=mysql+pymysql://root:${MYSQL_ROOT_PASSWORD}@mysql:3306/${MYSQL_DATABASE}?charset=utf8mb4
- REDIS_URL=redis://redis:6379/0
- SECRET_KEY=${SECRET_KEY}
- LLM_API_KEY=${LLM_API_KEY}
depends_on:
- mysql
- redis
volumes:
- ./logs:/app/logs
- ./uploads:/app/uploads
networks:
- app-network
# MySQL数据库
mysql:
image: mysql:8.0
container_name: flask-prompt-master-mysql
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- mysql_data:/var/lib/mysql
networks:
- app-network
# Redis缓存
redis:
image: redis:7-alpine
container_name: flask-prompt-master-redis
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis_data:/data
networks:
- app-network
# Nginx反向代理
nginx:
image: nginx:alpine
container_name: flask-prompt-master-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./logs/nginx:/var/log/nginx
depends_on:
- app
networks:
- app-network
volumes:
mysql_data:
driver: local
redis_data:
driver: local
networks:
app-network:
driver: bridge