feat(deploy): 增加单容器部署方案

- 新增 `deploy/all-in-one` 构建与启动配置,将 API、Web、Nginx、Postfix、Dovecot、OpenDKIM 集成到一个容器中。
- 调整 `deploy/docker-compose.yml` 默认指向单容器部署,并补充分体调试编排 `deploy/docker-compose.stack.yml`。
- 更新 `README.md`、`deploy/README.md` 和 `.env.example`,同步说明新的部署方式与本地投递配置。
This commit is contained in:
LanQin
2026-06-15 00:57:34 +08:00
parent 8a042ae3dc
commit 1f964eefe2
9 changed files with 310 additions and 60 deletions
+73
View File
@@ -0,0 +1,73 @@
version: "3.9"
services:
api:
build:
context: ..
dockerfile: deploy/api.Dockerfile
env_file: .env
volumes:
- lanqin-data:/data
- maildata:/var/mail/vhosts:ro
depends_on:
- dovecot
- postfix
restart: unless-stopped
web:
build:
context: ..
dockerfile: deploy/web.Dockerfile
restart: unless-stopped
nginx:
image: nginx:1.27-alpine
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- "80:80"
- "443:443"
depends_on:
- api
- web
restart: unless-stopped
postfix:
build:
context: ./postfix
env_file: .env
volumes:
- lanqin-data:/data
- maildata:/var/mail/vhosts
ports:
- "25:25"
- "587:587"
depends_on:
- dovecot
- opendkim
restart: unless-stopped
dovecot:
build:
context: ./dovecot
env_file: .env
volumes:
- lanqin-data:/data
- maildata:/var/mail/vhosts
ports:
- "993:993"
restart: unless-stopped
opendkim:
build:
context: ./opendkim
env_file: .env
volumes:
- lanqin-data:/data:ro
- dkim-keys:/etc/opendkim/keys
restart: unless-stopped
volumes:
lanqin-data:
maildata:
dkim-keys: