部署开源项目管理工具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项目 ...
随机推荐
- hszxoj ATM [tarjan]
hszxoj ATM 题目描述:\(Siruseri\) 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 \(Siruseri\) 银行的 \(ATM\) 取款机 ...
- Charles的奇巧淫技
大家好,我是 dom 哥.今天讨论一下 Charles 的高级用法. Charles 是 mac 电脑的一个网络代理软件,也是我平时开发常用的一个工具,用过的都说好. 本文不是 Charles 的入门 ...
- ElasticSearch之配置
ElasticSearch主要的配置文件,如下: elasticsearch.yml,ElasticSearch的相关参数. jvm.options,JVM的相关参数. log4j2.properti ...
- springsecurity 使用浅谈(一)
1. 背景 springsecurity框架主要用于Web应用的认证和授权.所谓认证就是验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户.而授权就是经过认证后判断当前用户是否有权 限进行 ...
- 用Roslyn玩转代码之一: 解析与执行字符串表达式
最近框架中的可视化界面设计需要使用到表达式引擎(解析代码字符串并动态执行),之前旧框架的实现是将表达式字符串解析为语法树后解释执行该表达式,本文介绍如何使用Roslyn解析表达式字符串,并直接转换 ...
- 如何从零开始实现TDOA技术的 UWB 精确定位系统(4)
这是一个系列文章<如何从零开始实现TDOA技术的 UWB 精确定位系统>第4部分. 重要提示(劝退说明): Q:做这个定位系统需要基础么?A:文章不是写给小白看的,需要有电子技术和软件编程 ...
- 【乘风破浪的开发者】丁一超:从AI实战营出发探索未知的AI世界
摘要:从年初的不知不觉进入AI学习的道路,到认识并熟练使用ModelArts平台.虽然只有短短的半年,但这半年的探索学习,让丁一超看清了未来的路在何方. 从招聘网站上输入"人工智能工程技术人 ...
- 开发的必杀技:Git 的分支管理
摘要:作为一名码农,Git的使用就像家常便饭,时时刻刻都要用到,那么Git分支管理也是必须要掌握的. Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离 ...
- 一文详解什么是可解释AI
摘要:本文带来什么是可解释AI,如何使用可解释AI能力来更好理解图片分类模型的预测结果,获取作为分类预测依据的关键特征区域,从而判断得到分类结果的合理性和正确性,加速模型调优. 1. 为什么需要可解释 ...
- CISO 需考虑的五项 Kubernetes 安全措施
随着企业对软件开发的安全意识提高,开发和运维环节中各个团队也开始将安全嵌入他们正在使用或处理的平台或应用程序架构中.不同于各团队把对安全的关注放在自己所处理的环节,首席信息安全官(CISO)需要把握和 ...