80 lines
2.0 KiB
YAML
80 lines
2.0 KiB
YAML
version: '3.8'
|
||
|
||
services:
|
||
# 微信机器人管理系统
|
||
wechat-robot:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
container_name: wechat-robot
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8080:8080" # 应用端口
|
||
volumes:
|
||
- ./configs:/app/configs # 配置文件
|
||
- ./data:/app/data # 数据文件
|
||
- ./logs:/app/logs # 日志文件
|
||
- /var/run/docker.sock:/var/run/docker.sock # Docker socket 用于容器管理
|
||
# 添加 docker 组的 GID 到容器,999 是常见的 docker 组 GID,但在不同系统可能不同
|
||
group_add:
|
||
- "999" # 请确认您系统上的 docker 组 GID
|
||
environment:
|
||
- APP_ENV=production
|
||
- TZ=Asia/Shanghai
|
||
- DOCKER_HOST=unix:///var/run/docker.sock
|
||
depends_on:
|
||
- postgres
|
||
- redis
|
||
networks:
|
||
- wechat-network
|
||
|
||
# PostgreSQL 数据库
|
||
postgres:
|
||
image: postgres:14-alpine
|
||
container_name: wechat-postgres
|
||
restart: unless-stopped
|
||
environment:
|
||
POSTGRES_USER: postgres
|
||
POSTGRES_PASSWORD: password # 生产环境请修改此密码
|
||
POSTGRES_DB: wechat_demo
|
||
volumes:
|
||
- postgres-data:/var/lib/postgresql/data
|
||
ports:
|
||
- "5432:5432"
|
||
networks:
|
||
- wechat-network
|
||
|
||
# Redis 服务
|
||
redis:
|
||
image: redis:7-alpine
|
||
container_name: wechat-redis
|
||
restart: unless-stopped
|
||
command: redis-server --requirepass pGhQKwj7DE7FbFL1 # 与配置中的密码一致
|
||
volumes:
|
||
- redis-data:/data
|
||
ports:
|
||
- "6379:6379"
|
||
networks:
|
||
- wechat-network
|
||
|
||
# PGAdmin(可选)数据库管理工具
|
||
pgadmin:
|
||
image: dpage/pgadmin4
|
||
container_name: wechat-pgadmin
|
||
environment:
|
||
PGADMIN_DEFAULT_EMAIL: admin@example.com
|
||
PGADMIN_DEFAULT_PASSWORD: admin # 生产环境请修改此密码
|
||
ports:
|
||
- "5050:80"
|
||
depends_on:
|
||
- postgres
|
||
networks:
|
||
- wechat-network
|
||
|
||
volumes:
|
||
postgres-data:
|
||
redis-data:
|
||
|
||
networks:
|
||
wechat-network:
|
||
driver: bridge |