无公网搭建敏捷项目管理平台Taiga全栈开发工具,Docker一键部署看板Scrum问题跟踪Wiki时间线功能,配置帕斯内网穿透实现远程团队协作!
作者
小编
发布时间

基于我获取的信息,现在我来为 Taiga 项目编写部署教程:
项目介绍
Taiga 是一个开源的敏捷项目管理平台,专为开发团队和创意团队设计。它提供了完整的项目管理解决方案,包括看板、Scrum、问题跟踪、Wiki、时间线等功能。Taiga 采用现代化的 Web 技术栈构建,界面简洁美观,功能强大且易于使用。
Taiga 支持多种项目管理方法论,无论你的团队使用敏捷开发、Scrum 还是看板方法,都能在 Taiga 中找到合适的工具。它还支持从 GitHub、GitLab、Jira、Trello 等平台导入项目,让团队迁移变得更加简单。
项目地址:点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
Taiga 提供了完整的 Docker Compose 部署方案,包含前端、后端、数据库、消息队列等所有必要组件,可以一键部署完整的项目管理平台。
复制下列的配置文件
1version: '3.5'23x-environment:4 &default-back-environment5 # Database settings6 POSTGRES_DB: 'taiga'7 POSTGRES_USER: 'taiga'8 POSTGRES_PASSWORD: 'taiga123'9 POSTGRES_HOST: 'taiga-db'10 # Taiga settings11 TAIGA_SECRET_KEY: 'taiga-secret-key-change-me'12 TAIGA_SITES_SCHEME: 'http'13 TAIGA_SITES_DOMAIN: 'localhost:9000'14 TAIGA_SUBPATH: ''15 # Email settings16 EMAIL_BACKEND: 'console'17 DEFAULT_FROM_EMAIL: 'no-reply@example.com'18 EMAIL_USE_TLS: 'True'19 EMAIL_USE_SSL: 'False'20 EMAIL_HOST: ''21 EMAIL_PORT: '587'22 EMAIL_HOST_USER: ''23 EMAIL_HOST_PASSWORD: ''24 # Rabbitmq settings25 RABBITMQ_USER: 'taiga'26 RABBITMQ_PASS: 'taiga123'27 # Telemetry settings28 ENABLE_TELEMETRY: 'True'2930x-volumes:31 &default-back-volumes32 - taiga-static-data:/taiga-back/static33 - taiga-media-data:/taiga-back/media3435services:36 taiga-db:37 image: postgres:12.338 environment:39 POSTGRES_DB: 'taiga'40 POSTGRES_USER: 'taiga'41 POSTGRES_PASSWORD: 'taiga123'42 healthcheck:43 test: ['CMD-SHELL', 'pg_isready -U taiga']44 interval: 2s45 timeout: 15s46 retries: 547 start_period: 3s48 volumes:49 - taiga-db-data:/var/lib/postgresql/data50 networks:51 - taiga5253 taiga-back:54 image: taigaio/taiga-back:latest55 environment: *default-back-environment56 volumes: *default-back-volumes57 networks:58 - taiga59 depends_on:60 taiga-db:61 condition: service_healthy62 taiga-events-rabbitmq:63 condition: service_started64 taiga-async-rabbitmq:65 condition: service_started6667 taiga-async:68 image: taigaio/taiga-back:latest69 entrypoint: ['/taiga-back/docker/async_entrypoint.sh']70 environment: *default-back-environment71 volumes: *default-back-volumes72 networks:73 - taiga74 depends_on:75 taiga-db:76 condition: service_healthy77 taiga-events-rabbitmq:78 condition: service_started79 taiga-async-rabbitmq:80 condition: service_started8182 taiga-async-rabbitmq:83 image: rabbitmq:3.8-management-alpine84 environment:85 RABBITMQ_ERLANG_COOKIE: 'secret-erlang-cookie'86 RABBITMQ_DEFAULT_USER: 'taiga'87 RABBITMQ_DEFAULT_PASS: 'taiga123'88 RABBITMQ_DEFAULT_VHOST: 'taiga'89 hostname: 'taiga-async-rabbitmq'90 volumes:91 - taiga-async-rabbitmq-data:/var/lib/rabbitmq92 networks:93 - taiga9495 taiga-front:96 image: taigaio/taiga-front:latest97 environment:98 TAIGA_URL: 'http://localhost:9000'99 TAIGA_WEBSOCKETS_URL: 'ws://localhost:9000'100 TAIGA_SUBPATH: ''101 networks:102 - taiga103104 taiga-events:105 image: taigaio/taiga-events:latest106 environment:107 RABBITMQ_USER: 'taiga'108 RABBITMQ_PASS: 'taiga123'109 TAIGA_SECRET_KEY: 'taiga-secret-key-change-me'110 networks:111 - taiga112 depends_on:113 taiga-events-rabbitmq:114 condition: service_started115116 taiga-events-rabbitmq:117 image: rabbitmq:3.8-management-alpine118 environment:119 RABBITMQ_ERLANG_COOKIE: 'secret-erlang-cookie'120 RABBITMQ_DEFAULT_USER: 'taiga'121 RABBITMQ_DEFAULT_PASS: 'taiga123'122 RABBITMQ_DEFAULT_VHOST: 'taiga'123 hostname: 'taiga-events-rabbitmq'124 volumes:125 - taiga-events-rabbitmq-data:/var/lib/rabbitmq126 networks:127 - taiga128129 taiga-protected:130 image: taigaio/taiga-protected:latest131 environment:132 MAX_AGE: '360'133 SECRET_KEY: 'taiga-secret-key-change-me'134 networks:135 - taiga136137 taiga-gateway:138 image: nginx:1.19-alpine139 ports:140 - '9000:80'141 volumes:142 - taiga-static-data:/taiga/static143 - taiga-media-data:/taiga/media144 networks:145 - taiga146 depends_on:147 - taiga-front148 - taiga-back149 - taiga-events150151volumes:152 taiga-static-data:153 taiga-media-data:154 taiga-db-data:155 taiga-async-rabbitmq-data:156 taiga-events-rabbitmq-data:157158networks:159 taiga:
打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目
这里需要改成你需要的数据库密码和密钥,其他的保持不变。建议修改以下字段:
- POSTGRES_PASSWORD: 数据库密码,建议设置为强密码
- TAIGA_SECRET_KEY: Taiga 密钥,建议设置为随机字符串
- RABBITMQ_PASS: 消息队列密码,建议设置为强密码
如果提示端口被占用可以修改下面的字段,但是需要保持格式正确:
1ports:2 - '9001:80' # 将 9000 改为其他端口
部署完成后,需要创建超级用户账号。在 NAS 的终端中执行:
1docker exec -it [容器名称]_taiga-back_1 python manage.py createsuperuser
创建成功后可以访问 ip:9000
到这里就可以正常显示项目了
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道
隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 9000 端口,这里本地端口就填 9000
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
本篇教程结束