Wekan部署攻略:Docker环境下的快速搭建与配置优化

Wekan部署攻略:Docker环境下的快速搭建与配置优化

【免费下载链接】wekan The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://app.transifex.com/wekan/ only. 【免费下载链接】wekan 项目地址: https://gitcode.com/GitHub_Trending/we/wekan

你是否还在为团队协作效率低下而烦恼?是否需要一个简单易用的项目管理工具来跟踪任务进度?Wekan作为一款开源的看板应用(Kanban),能够帮助团队高效管理项目任务。本文将详细介绍如何在Docker环境下快速搭建Wekan,并进行配置优化,让你在10分钟内完成部署,提升团队协作效率。读完本文后,你将掌握Wekan的Docker部署步骤、基本配置方法、数据备份策略以及性能优化技巧。

准备工作

在开始部署Wekan之前,需要确保你的系统满足以下基本要求:

  • 操作系统:Linux(推荐Ubuntu 20.04 LTS或更高版本)
  • Docker:Docker Engine 20.10.x 或更高版本
  • Docker Compose:v2.x 或更高版本
  • 硬件配置:至少2GB RAM,20GB可用磁盘空间(官方文档建议,docs/FAQ/Requirements.md

安装Docker和Docker Compose

如果你的系统尚未安装Docker和Docker Compose,可以通过以下命令快速安装:

# 更新系统包
sudo apt update && sudo apt upgrade -y

# 安装Docker依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加Docker软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker和Docker Compose
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 将当前用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER

安装完成后,注销并重新登录系统,使用户组变更生效。

快速部署Wekan

Wekan官方提供了Docker Compose配置文件,简化了部署过程。以下是快速部署步骤:

获取Wekan的Docker Compose配置

首先,克隆Wekan的Git仓库(如果没有Git,请先安装:sudo apt install git):

git clone https://gitcode.com/GitHub_Trending/we/wekan.git
cd wekan

在仓库根目录下,你可以找到docker-compose.yml文件,该文件定义了Wekan和MongoDB的服务配置。

修改Docker Compose配置

使用文本编辑器打开docker-compose.yml文件:

nano docker-compose.yml

主要需要修改以下参数:

  1. ROOT_URL:设置Wekan的访问地址,例如http://your-domain.comhttp://localhost:8080
  2. 端口映射:默认情况下,Wekan容器的8080端口映射到主机的80端口。如果主机80端口已被占用,可以修改为其他端口,例如3000:8080

示例配置(docker-compose.yml):

services:
  wekandb:
    image: mongo:7
    container_name: wekan-db
    restart: always
    volumes:
      - wekan-db:/data/db
    networks:
      - wekan-tier

  wekan:
    image: ghcr.io/wekan/wekan:latest
    container_name: wekan-app
    restart: always
    ports:
      - "8080:8080"  # 主机端口:容器端口
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      - ROOT_URL=http://localhost:8080  # 修改为你的访问地址
      - WITH_API=true
    depends_on:
      - wekandb
    networks:
      - wekan-tier

networks:
  wekan-tier:
    driver: bridge

volumes:
  wekan-db:

启动Wekan服务

保存配置文件后,使用以下命令启动Wekan服务:

docker compose up -d
  • -d参数表示后台运行容器。
  • 首次启动时,Docker会自动拉取Wekan和MongoDB的镜像,可能需要几分钟时间,请耐心等待。

验证部署

服务启动后,打开浏览器访问你在ROOT_URL中设置的地址(例如http://localhost:8080)。如果看到Wekan的登录页面,说明部署成功。

基本配置

创建管理员账户

首次访问Wekan时,需要创建管理员账户:

  1. 点击页面上的“注册”按钮。
  2. 输入用户名、电子邮件和密码。
  3. 注册成功后,系统会自动登录到Wekan看板界面。

添加用户和创建看板

作为管理员,你可以通过以下步骤添加用户和创建看板:

  1. 添加用户:进入“管理面板”(Admin Panel),点击“用户”选项卡,然后点击“添加用户”,输入用户信息并设置权限(docs/Login/Adding-users.md)。
  2. 创建看板:点击界面上的“+ 新建看板”按钮,输入看板名称和描述,选择可见性(私有或公开),然后点击“创建”。

数据备份与恢复

为了确保数据安全,定期备份Wekan数据至关重要。Wekan的数据存储在MongoDB中,可以通过以下方法进行备份和恢复。

数据备份

Wekan官方提供了Docker环境下的数据备份脚本,备份步骤如下(docs/Backup/Backup.md):

# 停止Wekan应用容器
docker stop wekan-app

# 在MongoDB容器内创建数据备份
docker exec wekan-db mongodump -o /data/dump

# 将备份文件从容器复制到主机
docker cp wekan-db:/data/dump .

# 启动Wekan应用容器
docker start wekan-app

备份文件将保存在当前目录的dump文件夹中。建议将备份文件压缩并存储到安全位置:

tar -zcvf wekan_backup_$(date +%Y%m%d).tar.gz dump/
rm -rf dump/

数据恢复

如果需要恢复数据,可以使用以下步骤:

# 停止Wekan应用容器
docker stop wekan-app

# 将备份文件复制到MongoDB容器内
docker cp wekan_backup_20250925.tar.gz wekan-db:/data/

# 进入MongoDB容器
docker exec -it wekan-db bash

# 在容器内解压备份文件
cd /data
tar -zxvf wekan_backup_20250925.tar.gz

# 恢复数据
mongorestore --drop --dir=/data/dump

# 退出容器
exit

# 启动Wekan应用容器
docker start wekan-app
  • --drop参数表示在恢复前删除现有数据,确保恢复的数据是最新的。

配置优化

性能优化

  1. MongoDB性能调优

    • Wekan使用MongoDB作为数据库,默认配置可能无法充分利用系统资源。你可以通过修改MongoDB的配置文件来优化性能,例如增加缓存大小、调整连接池等。

    • docker-compose.yml中,可以为MongoDB容器添加额外的命令参数:

      wekandb:
        image: mongo:7
        command: mongod --wiredTigerCacheSizeGB 1 --oplogSize 128
      
      • --wiredTigerCacheSizeGB 1:设置WiredTiger存储引擎的缓存大小为1GB(根据系统内存调整,建议设置为可用内存的50%)。
      • --oplogSize 128:设置操作日志(Oplog)大小为128MB,有助于提高数据同步性能。
  2. Wekan应用优化

    • 调整Node.js内存限制:Wekan基于Node.js运行,可以通过设置NODE_OPTIONS环境变量来增加内存限制(docker-compose.yml):

      wekan:
        environment:
          - NODE_OPTIONS=--max_old_space_size=2048  # 设置为2GB
      

Nginx反向代理配置

为了提高Wekan的访问性能和安全性,建议使用Nginx作为反向代理,并启用HTTPS。以下是Nginx的配置示例(docs/Webserver/Nginx.md):

# /etc/nginx/conf.d/wekan.conf
server {
    listen 80;
    server_name your-domain.com;  # 替换为你的域名
    return 301 https://$host$request_uri;  # 重定向HTTP到HTTPS
}

server {
    listen 443 ssl http2;
    server_name your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;  # SSL证书路径
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    # SSL配置优化
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_session_cache shared:SSL:10m;

    # 代理配置
    location / {
        proxy_pass http://localhost:8080;  # 指向Wekan容器的端口
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 设置最大上传文件大小
    client_max_body_size 100M;
}

配置完成后,重启Nginx服务:

sudo nginx -t  # 测试配置是否有误
sudo systemctl restart nginx

升级Wekan

Wekan团队会定期发布新版本,修复漏洞并添加新功能。升级Docker环境下的Wekan非常简单:

# 进入Wekan目录
cd /path/to/wekan

# 拉取最新的Docker镜像
docker compose pull

# 重启容器
docker compose up -d

注意:升级前请务必备份数据,以防意外情况(docs/Upgrade/Upgrade.md)。

常见问题解决

1. 容器启动失败

如果Wekan或MongoDB容器启动失败,可以通过以下命令查看日志,排查错误原因:

# 查看Wekan容器日志
docker logs wekan-app

# 查看MongoDB容器日志
docker logs wekan-db

2. 无法访问Wekan

  • 检查容器是否正常运行:docker ps

  • 检查端口映射是否正确:netstat -tuln | grep 8080(确保主机端口未被占用)

  • 检查防火墙设置,确保端口已开放:

    sudo ufw allow 8080/tcp  # 如果直接访问Wekan端口
    sudo ufw allow 80/tcp    # 如果使用HTTP
    sudo ufw allow 443/tcp   # 如果使用HTTPS
    

3. 附件上传大小限制

默认情况下,Nginx和Wekan都有附件上传大小限制。可以通过修改Nginx配置文件中的client_max_body_size参数(如上文Nginx配置示例中设置为100M),以及Wekan的环境变量来调整(docker-compose.yml):

wekan:
  environment:
    - ATTACHMENTS_UPLOAD_MAX_SIZE=104857600  # 100MB(单位:字节)

总结

通过本文的指南,你已经成功在Docker环境下部署并优化了Wekan看板应用。现在,你可以使用Wekan来管理项目任务,提高团队协作效率。为了确保系统稳定运行,建议定期备份数据,并关注Wekan的最新版本,及时进行升级。

如果你在使用过程中遇到其他问题,可以查阅Wekan的官方文档(docs/README.md)或在GitHub上提交issue寻求帮助。

点赞+收藏+关注,获取更多开源项目部署与优化教程!下期预告:Wekan高级功能使用技巧——自动化规则与报表生成。

【免费下载链接】wekan The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://app.transifex.com/wekan/ only. 【免费下载链接】wekan 项目地址: https://gitcode.com/GitHub_Trending/we/wekan

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值