最近入手了一台小主机,打算把所有自托管服务都跑在上面。选择 Docker Compose 做编排,简单够用。

基本思路

一个服务一个 docker-compose.yml,统一放在 ~/server/ 下,目录结构大概是:

~/server/
├── gitea/
│   └── docker-compose.yml
├── nextcloud/
│   └── docker-compose.yml
└── nginx/
    └── docker-compose.yml

网络方案

所有容器共用一个外部网络 proxy,由 Nginx 统一反代。

networks:
  proxy:
    external: true

踩坑记录

  • 别忘了给数据目录做持久化,重建容器不会丢数据
  • Nginx 配置改完记得 docker exec nginx nginx -s reload
  • 时区问题:容器里默认 UTC,加上 TZ=Asia/Shanghai 环境变量