1. 一键配置Caddyfile
cat > Caddyfile <<EOF
# Komari面板的反向代理配置
km.hxjx.hidns.co {
reverse_proxy komari:25774
}
# Openlist的反向代理配置
openlist.hxjx.hidns.co {
reverse_proxy openlist:5244
}
# Typecho博客的反向代理配置
blog.hxjx.hidns.vip {
reverse_proxy typecho:80
}
# Typecho博客的反向代理配置2
tych.netlib.re {
reverse_proxy typecho:80
}
EOF
2. 一键生成docker-compose.yml
cat > docker-compose.yml <<EOF
services:
caddy:
image: caddy:latest
container_name: caddy
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy_data:/data
restart: unless-stopped
openlist:
image: openlistteam/openlist:latest
container_name: openlist
ports:
- "5244:5244"
environment:
- TZ=Asia/Shanghai
- OPENLIST_ADMIN_PASSWORD=xxsky1127 # 请务必修改
volumes:
- ./oplist_data:/opt/openlist/data
restart: unless-stopped
komari:
image: ghcr.io/komari-monitor/komari:latest
container_name: komari
ports:
- "25774:25774"
environment:
- TZ=Asia/Shanghai
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=xxsky1127
volumes:
- ./komari_data:/app/data
restart: unless-stopped
# Typecho 博客服务
typecho:
image: joyqi/typecho:nightly-php8.2-apache # 官方 Apache 镜像
container_name: typecho
ports:
- "8383:80" # 宿主机 8080 -> 容器 80
environment:
TZ: Asia/Shanghai # 设置时区为上海
volumes:
- ./typecho/app/usr:/app/usr # 当前目录存放 Typecho 文件
depends_on:
- db # 依赖数据库
restart: always # 自动重启策略
# 数据库服务
db:
image: mariadb:10.6 # MariaDB 镜像
container_name: typecho-db
environment:
MYSQL_ROOT_PASSWORD: xxsky1127 # 数据库 root 密码(请修改)
MYSQL_DATABASE: typecho # 默认数据库
MYSQL_USER: typecho # 数据库用户
MYSQL_PASSWORD: xxsky1127 # 用户密码(请修改)
TZ: Asia/Shanghai # 时区
volumes:
- ./db:/var/lib/mysql # 数据库数据存放当前目录
restart: always
networks:
default:
name: app_network
EOF
3. 方便容器部署的openlist的v4.1.0
services:
openlist:
image: openlistteam/openlist:v4.1.0
container_name: openlist
ports:
- "5244:5244"
environment:
- PGID=0
- PGID=0
- TZ=Asia/Shanghai
- UMASK=022
- OPENLIST_ADMIN_PASSWORD=xxsky1127
volumes:
- ./oplist_data:/opt/openlist/data
restart: unless-stopped