BotOf Tech
返回首页一台服务器部署 3 个项目:Traefik + Docker Compose 实战

一台服务器部署 3 个项目:Traefik + Docker Compose 实战

·1 分钟阅读·

背景

当你有多个独立项目(商城、语音助手、IoT 平台)需要部署到同一台服务器时,如何优雅地管理域名、证书和服务隔离?

架构设计

Traefik (443)
├── botof.cn       → 门户页
├── mall.botof.cn  → 商城
├── voice.botof.cn → 语音助手
└── plant.botof.cn → 植物监测

核心思路:一个 Traefik 实例 + 多个独立 docker-compose 文件,通过共享的 proxy 网络连接。

关键配置

共享网络

每个项目的 compose 文件都连接同一个外部网络:

networks:
  proxy:
    external: true

Traefik Labels

每个服务通过 Docker labels 声明路由规则:

labels:
  - "traefik.http.routers.my-app.rule=Host(`app.botof.cn`)"
  - "traefik.http.routers.my-app.tls.certresolver=letsencrypt"

数据库共享

PostgreSQL 通过 init 脚本为每个项目创建独立数据库,互不干扰。

内存规划

8GB 服务器的分配方案:Traefik 128MB + PostgreSQL 1.5GB + Redis 300MB + 各服务 256-512MB。