Files
freedom-admin/deploy/docker-compose.yml

58 lines
2.0 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================
# 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