x
Build docker and publish / build (20.15.1) (push) Successful in 7m43s

This commit is contained in:
2026-03-06 03:03:46 -08:00
parent 7914b2aa78
commit dbcb1fb066
2 changed files with 21 additions and 16 deletions
+18 -13
View File
@@ -2,18 +2,23 @@
# 使用方法:
# 1. 确保已将 docker-compose.cloud.yml, configs/, loki/, grafana/, prometheus/, tempo/ 目录上传到服务器同一目录
# 2. 确保 configs/ 目录下有 ppanel.yaml 配置文件(参考 etc/ppanel.yaml
# 3. 确保 logs/ 目录存在 (mkdir -p logs tempo_data)
# 3. 确保 logs/ cache/ tempo_data/ 目录存在 (mkdir -p logs cache tempo_data)
# 4. 运行: docker-compose -f docker-compose.cloud.yml up -d
#
# 网络说明:
# 所有服务均在 ppanel_net bridge 网络中,通过容器名互联
# MySQL / Redis / Tempo 不对外暴露端口(仅内网访问)
# 监控端口(Grafana/Prometheus/Loki/Tempo)绑定到 127.0.0.1,需通过 SSH 隧道或 Nginx 反代访问
# 对外只暴露 8080 (ppanel API)
# ppanel-server 使用 host 网络(可出外网,访问 MySQL/Redis/Tempo 用 127.0.0.1
# 监控服务(MySQL/Redis/Loki/Tempo/Grafana/Prometheus)在 ppanel_net bridge 网络中
# MySQL(3306)/Redis(6379)/Tempo(4317) 将端口映射到 127.0.0.1ppanel-server 通过 host 网络访问
# 监控端口绑定 127.0.0.1,需通过 SSH 隧道或 Nginx 反代访问
#
# 未来多开 ppanel-server 时:
# 修复宿主机 iptables bridge 出网规则后,可将 ppanel-server 切回 bridge 网络
# 多实例用不同端口: ports: ["8081:8080"] + container_name: ppanel-server-2
services:
# ----------------------------------------------------
# 1. 业务后端 (PPanel Server)
# host 网络:可出外网,通过 127.0.0.1 访问 MySQL/Redis/Tempo
# ----------------------------------------------------
ppanel-server:
image: registry.kxsw.us/vpn-server:${PPANEL_SERVER_TAG:-latest}
@@ -22,12 +27,10 @@ services:
volumes:
- ./configs:/app/etc
- ./logs:/app/logs
- ./cache:/app/cache # GeoLite2-City.mmdb IP 地理位置数据库
environment:
- TZ=Asia/Shanghai
ports:
- "8080:8080"
networks:
- ppanel_net
network_mode: host
ulimits:
nproc: 65535
nofile:
@@ -53,7 +56,8 @@ services:
image: mysql:8.0
container_name: ppanel-mysql
restart: always
# 不对外暴露端口,仅内网访问(容器名: mysql,端口: 3306
ports:
- "127.0.0.1:3306:3306" # 仅宿主机可访问,ppanel-server(host网络)通过127.0.0.1连接
environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?请在 .env 文件中设置 MYSQL_ROOT_PASSWORD}"
MYSQL_DATABASE: "ppanel"
@@ -93,7 +97,8 @@ services:
image: redis:8.2.1
container_name: ppanel-redis
restart: always
# 不对外暴露端口,仅内网访问(容器名: redis,端口: 6379
ports:
- "127.0.0.1:6379:6379" # 仅宿主机可访问,ppanel-server(host网络)通过127.0.0.1连接
command:
- redis-server
- --tcp-backlog 65535
@@ -132,8 +137,8 @@ services:
volumes:
- ./tempo/tempo-config.yaml:/etc/tempo.yaml
- ./tempo_data:/var/tempo
# 不对外暴露端口,仅内网访问(容器名: tempo)
# ppanel-server 通过容器名 tempo:4317 发送 trace
ports:
- "127.0.0.1:4317:4317" # OTLP gRPCppanel-server(host网络)通过127.0.0.1:4317发送trace
networks:
- ppanel_net
logging: