首页
/ Planka项目Docker Compose部署指南

Planka项目Docker Compose部署指南

2025-07-06 06:25:56作者:姚月梅Lane

项目概述

Planka是一款开源的看板管理工具,类似于Trello的项目管理平台。它提供了直观的看板界面,支持任务卡片、列表、标签等功能,非常适合团队协作和项目管理。本指南将详细介绍如何使用Docker Compose部署Planka项目。

部署准备

在开始部署前,请确保您的系统已安装以下组件:

  • Docker引擎
  • Docker Compose

核心服务配置

Planka的Docker Compose配置主要包含两个服务:

1. Planka主服务

planka:
  image: ghcr.io/plankanban/planka:2.0.0-rc.3
  restart: on-failure
  ports:
    - 3000:1337
  • 使用官方提供的2.0.0-rc.3版本镜像
  • 采用on-failure重启策略,确保服务异常时自动恢复
  • 将容器内部的1337端口映射到主机的3000端口

2. PostgreSQL数据库服务

postgres:
  image: postgres:16-alpine
  restart: on-failure
  environment:
    - POSTGRES_DB=planka
    - POSTGRES_HOST_AUTH_METHOD=trust
  • 使用PostgreSQL 16的Alpine版本,体积小巧
  • 创建名为planka的数据库
  • 配置为信任连接,简化部署流程

数据持久化配置

为确保数据安全,Planka配置了多个持久化卷:

volumes:
  favicons:
  user-avatars:
  background-images:
  attachments:
  db-data:
  • favicons: 存储网站图标
  • user-avatars: 用户头像存储
  • background-images: 看板背景图片
  • attachments: 任务附件
  • db-data: PostgreSQL数据库数据

关键环境变量解析

Planka服务支持丰富的环境变量配置:

基础配置

- BASE_URL=http://localhost:3000
- DATABASE_URL=postgresql://postgres@postgres/planka
- SECRET_KEY=notsecretkey
  • BASE_URL: 应用访问地址,生产环境应替换为实际域名
  • DATABASE_URL: 数据库连接字符串
  • SECRET_KEY: 应用加密密钥,生产环境必须修改

管理员账户配置

# - DEFAULT_ADMIN_EMAIL=demo@demo.demo
# - DEFAULT_ADMIN_PASSWORD=demo
# - DEFAULT_ADMIN_NAME=Demo Demo
# - DEFAULT_ADMIN_USERNAME=demo

这些配置用于创建初始管理员账户,建议在生产环境中配置并确保安全。

高级存储配置

Planka支持S3兼容存储:

# - S3_ENDPOINT=
# - S3_REGION=
# - S3_ACCESS_KEY_ID=
# - S3_SECRET_ACCESS_KEY=
# - S3_BUCKET=

配置后,附件等文件将存储在S3而非本地。

邮件通知配置

# - SMTP_HOST=
# - SMTP_PORT=587
# - SMTP_USER=
# - SMTP_PASSWORD=
# - SMTP_FROM="Demo Demo" <demo@demo.demo>

配置SMTP服务以启用邮件通知功能。

安全最佳实践

  1. 密钥管理:所有敏感信息(如数据库密码、SMTP密码等)应通过Docker secrets管理
  2. SSL配置:生产环境应启用SSL/TLS
  3. 定期备份:确保定期备份数据库卷(db-data)
  4. 权限控制:考虑配置适当的用户/组权限

部署步骤

  1. 创建docker-compose.yml文件,填入上述配置
  2. 根据实际需求修改环境变量
  3. 运行命令启动服务:
    docker-compose up -d
    
  4. 访问http://localhost:3000验证部署

常见问题解决

  1. 数据库连接问题:检查postgres服务健康状态和连接字符串
  2. 权限问题:必要时配置user字段指定运行用户
  3. 存储问题:确保Docker卷有足够空间
  4. 性能问题:可调整LOG_LEVEL减少日志输出

生产环境建议

  1. 使用反向代理(如Nginx)处理SSL和负载均衡
  2. 配置定期备份策略
  3. 监控服务运行状态和资源使用情况
  4. 考虑使用更高版本的PostgreSQL以获得更好性能

通过以上配置,您可以轻松部署一个功能完善的Planka看板管理系统。根据团队规模和需求,您可以进一步调整资源配置和高级功能设置。