部署开源项目管理工具focalboard
前言
focalboard是一款开源项目管理工具,类似Jira、Trello。官网地址
| 组件 | 版本 | 说明 |
|---|---|---|
| Debian | 12.1 | 操作系统 |
| docker | 20.10.7 | 容器运行时 |
| docker-compose | 1.29.2 | docker编排工具 |
| Nginx | 1.21.5 | 反向代理focalboard |
| Postgres | 15.3 | 数据库 |
| Focalboard | 7.11.3 | focalboard服务 |
安装nginx和postgres
nginx和postgres通过docker安装,免得编译。docker-compose.yaml文件内容如下,根据实际需求进行修改。
version: "3"
services:
postgres:
image: postgres:latest
container_name: postgres
networks:
- apps
ports:
- 5432:5432
volumes:
- ./postgres/data:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro
environment:
- "POSTGRES_PASSWORD=123456"
nginx:
image: nginx:latest
container_name: nginx
networks:
- apps
volumes:
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf/conf.d:/etc/nginx/conf.d
- ./nginx/logs:/var/log/nginx
- /etc/localtime:/etc/localtime:ro
ports:
- 80:80
networks:
apps:
name: apps
使用docker-compose创建容器并启动:
docker-compose up -d
查看是否启动成功:
docker-compose ps
配置postgres
# 创建数据库
CREATE DATABASE focalboards;
# 创建用户, 指定密码
CREATE USER boardsuser WITH PASSWORD 'qwerty';
# 授权
GRANT ALL PRIVILEGES ON DATABASE focalboards to boardsuser;
配置nginx
upstream中指定了focalboard后端的ip,根据实际进行修改。
upstream svc.focalboard {
server 192.168.0.41:8000;
keepalive 32;
}
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location ~ /ws/* {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 50M;
proxy_set_header Host $http_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;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
proxy_read_timeout 1d;
proxy_pass http://svc.focalboard;
}
location / {
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_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;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_cache_revalidate on;
proxy_cache_min_uses 2;
proxy_cache_use_stale timeout;
proxy_cache_lock on;
proxy_http_version 1.1;
proxy_pass http://svc.focalboard;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
检查配置与配置热加载
docker exec nginx nginx -t
docker exec nginx nginx -s reload
安装与配置focalboard
- 官网GitHub仓库下载。https://github.com/mattermost/focalboard
- 解压
- 编辑config.json。注意修改postgres数据库的连接信息。
{
"serverRoot": "http://localhost:8000",
"port": 8000,
"dbtype": "postgres",
"dbconfig": "postgres://boardsuser:qwerty@127.0.0.1:5432/focalboards?sslmode=disable&connect_timeout=10",
"postgres_dbconfig": "dbname=focalboard sslmode=disable",
"useSSL": false,
"webpath": "./pack",
"filespath": "./files",
"telemetry": true,
"prometheusaddress": ":9092",
"session_expire_time": 2592000,
"session_refresh_time": 18000,
"localOnly": false,
"enableLocalMode": true,
"localModeSocketLocation": "./tmp/focalboard_local.socket"
}
启动
nohup ./bin/focalboard-server > ./nohup.log 2>&1 &
浏览器访问

补充
- focalboard编译用的GLIBC版本较高,centos 7无法正常运行。(报错:
/lib64/libc.so.6: version 'GLIBC_2.28' not found)。如果要在centos 7上部署focalboard,可以试试自封装的docker镜像。
version: "3"
services:
focalboard:
image: registry.cn-hangzhou.aliyuncs.com/rainux/focalboard:7.11.3
container_name: focalboard
networks:
- apps
volumes:
- ./focalboard/config.json:/app/config.json
- /etc/localtime:/etc/localtime:ro
privileged: true
networks:
apps:
name: apps
部署开源项目管理工具focalboard的更多相关文章
- IT项目管理分享7个开源项目管理工具
在一项调查中,有 71% 的组织表示他们在开发过程中会用到敏捷方法. 此外,用敏捷方法管理项目比传统方法管理项目成功率高 28%.在这次工具推荐中,我们从一些比较受欢迎的开源项目管理工具中摘取了支持敏 ...
- 开源项目管理工具KanBoard
KanBoard是一个很好用的项目管理软件,地址点此.它以网页形式存储在服务器或者本地,支持多标签.多项目.多用户和多种显示方式.编辑方式上支持markdown.它还提供多角度可视化的项目统计分析. ...
- IT项目管理者常用的项目管理工具(国产VS进口)?
对于IT项目管理工具相信很多IT项目管理者都不陌生,因为它是我们每天都要接触的,但是在前期选择IT项目管理工具的时候往往是我们最头疼的时候,所以今天我就给大家带来几款常用的国内外IT项目管理工具介绍: ...
- 15款提高工作效率的 Web 项目管理工具
在今天的快节奏的商业世界里,能够通过计划.组织.和管理资源池以及评估开发资源的模式来管理一个项目,是一个很艰巨的任务. 有很多现成的项目管理软件来帮助减轻项目管理的负担,并且他们几乎覆盖了所有类型的业 ...
- masterlab 敏捷项目管理工具
masterlab 是一个参考了gitlab 以及jira 的开源项目管理工具,基于php开发,同时官方也提供了一个 docker-compose 运行的项目 clone 代码 git clone ...
- 国内外开源与 SaaS ,团队协作平台、项目管理工具整理
整理一些开源与 SaaS ,团队协作平台.项目管理工具.还有哪些比较好的工具,可以推荐下? 名称 地址 备注 asana https://asana.com/ 国外 basecamp https:// ...
- DotProject首页、文档和下载 - 项目管理工具 - 开源中国社区
DotProject首页.文档和下载 - 项目管理工具 - 开源中国社区
- IT项目管理工具总结(转载)
以前用过一个cs版的忘记叫啥名了,还用个禅道,感觉一般“5. 测试管理: 项目软件缺陷Bug状态跟踪”在公司内部自己测试或者试用期上线后后期维护阶段用的多,有的公司单独做个系统让用户提问题来修改,也是 ...
- Maven 项目管理工具基础知识系列(一)
一.Maven 简介 Maven 中文意为 " 内行.专家 ",是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具, ...
- Maven项目管理工具
Maven项目管理工具 白面郎君 Svn eclipse maven量级 1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目 ...
随机推荐
- 10个必备的 async/await 工具函数
| 当谈到异步编程时,async/await是JavaScript中常用的功能之一.下面是10个常用的await和async函数示例,以及对它们的代码用途的解析: 1.异步获取数据 async fun ...
- MySQL|MySQL事物以及隔离级别
MySQL 事务主要用于处理操作量大,复杂度高的数据.比如开单,需要添加给订单表增加记录,还需要增加订单的各种相关明细,操作复杂度高,这些操作语句需要构成一个事务.在 MySQL 命令行的默认设置下, ...
- DevOps常用工具全家桶,实现高效运维和交付
DevOps常用工具全家桶,实现高效运维和交付 1.DevOps发展 DevOps发展背景: 随着互联网技术的快速发展,软件开发和运维的挑战也日益增加.传统的软件开发和运维模式往往存在分离.效率低下. ...
- 在线录屏-通过Web API接口轻松实现录屏
在线录屏是指在互联网上进行屏幕录制的过程.它允许用户通过网络连接,将自己的屏幕活动记录下来,并可以在需要时进行播放.共享或存档.在线录屏常用于教育.培训.演示.游戏等场景,可以帮助用户展示操作步骤.解 ...
- GaussDB(for Redis)多租户:读写权限控制和数据库隔离的完美融合
本文分享自华为云社区<GaussDB(for Redis)企业级特性揭秘之多租户管理>,作者: GaussDB 数据库 . 华为云GaussDB(for Redis)持续完善企业级增强特性 ...
- 详解驱动开发中内核PE结构VA与FOA转换
摘要:本文将探索内核中解析PE文件的相关内容. 本文分享自华为云社区<驱动开发:内核PE结构VA与FOA转换>,作者: LyShark . 本章将探索内核中解析PE文件的相关内容,PE文件 ...
- 一段java代码是如何执行的?
摘要:当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能.那么,你都知道这段java代码都是如何执行的吗? 本文分享自华为云社区<一段java代码是如何执行的&g ...
- THOR:MindSpore 自研高阶优化器源码分析和实践应用
摘要:这篇文章跟大家分享下THOR的实践应用.THOR算法的部分内容当前已经在MindSpore中开源 本文分享自华为云社区<MindSpore 自研高阶优化器源码分析和实践应用>,原文作 ...
- 【CVPR2022】用于域适应语义分割的域无关先验
摘要:本文给大家分享一篇我们在CVPR 2022 上发表的paper:Domain-Agnostic Prior for Transfer Semantic Segmentation.文章提出了一种图 ...
- 如何配置Apple推送证书 push证书
转载:如何配置Apple推送证书 push证书 想要制作push证书,就需要使用快捷工具appuploader工具制 作证书,然后使用Apple的推送功能配置push证书,就可以得到了.PS:pu ...