Docker Compose 部署全套自建服务(含反代与证书自动续期)
把我的 compose 文件整理了一下,一套搞定反代、证书、监控。
目录结构
/opt/stack
├── docker-compose.yml
├── caddy/Caddyfile
└── data/
docker-compose.yml
services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports: ["80:80", "443:443"]
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- ./data/caddy:/data
networks: [web]
uptime:
image: louislam/uptime-kuma:1
restart: unless-stopped
volumes: ["./data/uptime:/app/data"]
networks: [web]
networks:
web:
Caddyfile
vps.example.com {
reverse_proxy uptime:3001
encode gzip zstd
}
Caddy 会自动申请并续期 Let's Encrypt 证书,不用再单独跑 certbot。
几点经验
- 数据卷一定要挂到宿主机,容器删了数据还在
- 别用
latest标签,升级时容易翻车 - 监控自己也要被监控,uptime-kuma 建议放到另一台机器上
需要完整版的可以回帖,我贴出来。
硬件看起来还行,就是不知道超售严重不严重。
这个价格不如上隔壁那家,配置还高一点。
楼主这个测试方法很规范,学习了。
这个思路不错,我之前是用另一种方式实现的,大概是:先在同城做一份冷备,再同步到异地。缺点是占用双倍空间,优点是恢复快。各有取舍吧。
感谢楼主,照着配置了一下,一次性成功。补充一个小细节:如果用的是宝塔面板,防火墙规则要在面板里也加一遍,不然重启后会丢失。这个坑我踩了很久才找到原因。
这个坑我也踩过,血的教训。
实测确实如此,我用了一个月也是这样。
这个坑我也踩过,血的教训。
感谢楼主,照着配置了一下,一次性成功。补充一个小细节:如果用的是宝塔面板,防火墙规则要在面板里也加一遍,不然重启后会丢失。这个坑我踩了很久才找到原因。
这家的客服响应挺快的,之前工单半小时就回了。
学到了,明天就去改。
楼主用的什么系统?Debian 还是 Ubuntu?