58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
# =============================================================
|
||
# freedom 前后端部署编排(初始化到宿主 /opt/freedom/deploy/)
|
||
#
|
||
# 使用方式(在 /opt/freedom/deploy/ 目录下执行):
|
||
# docker compose up -d # 全量部署(首次)
|
||
# docker compose up -d backend # 仅部署/更新后端(CI 使用)
|
||
# docker compose up -d web # 仅部署/更新前端(CI 使用)
|
||
# docker compose down # 停止所有服务
|
||
# docker compose logs -f # 查看日志
|
||
#
|
||
# 前置:同目录下需存在 .env 文件(数据库凭据),由初始化脚本创建。
|
||
# DB_URL= jdbc:mysql://<mysql内网地址>:3306/freedom_db?...(本机可用 192.168.1.158)
|
||
# DB_USERNAME= root
|
||
# DB_PASSWORD= <密码>
|
||
#
|
||
# 网络说明:
|
||
# - web(前端 Nginx)对外暴露 80 端口,是统一入口
|
||
# - backend(后端)仅内网网络,通过服务名 backend:8800 被 Nginx 反代
|
||
# =============================================================
|
||
services:
|
||
# ---------------- 后端 ----------------
|
||
# 服务名固定为 backend(前端 nginx.conf 中 proxy_pass http://backend:8800)
|
||
backend:
|
||
image: freedom-admin:${IMAGE_TAG:-latest}
|
||
container_name: freedom-admin
|
||
restart: unless-stopped
|
||
# 后端不直接暴露公网,仅加入内部网络供 Nginx 反代
|
||
expose:
|
||
- "8800"
|
||
environment:
|
||
# 数据库连接(来自 .env,CI 部署时读取)
|
||
DB_URL: ${DB_URL}
|
||
DB_USERNAME: ${DB_USERNAME}
|
||
DB_PASSWORD: ${DB_PASSWORD}
|
||
TZ: Asia/Shanghai
|
||
volumes:
|
||
- ./logs/backend:/app/logs
|
||
networks:
|
||
- freedom-net
|
||
|
||
# ---------------- 前端(统一入口) ----------------
|
||
web:
|
||
image: freedom-web:${IMAGE_TAG:-latest}
|
||
container_name: freedom-web
|
||
restart: unless-stopped
|
||
ports:
|
||
- "80:80"
|
||
environment:
|
||
TZ: Asia/Shanghai
|
||
depends_on:
|
||
- backend
|
||
networks:
|
||
- freedom-net
|
||
|
||
networks:
|
||
freedom-net:
|
||
driver: bridge
|