部署开源项目管理工具focalboard

简介: 部署开源项目管理工具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

  1. 官网GitHub仓库下载。https://github.com/mattermost/focalboard
  2. 解压
  3. 编辑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
相关文章
|
运维 JavaScript Linux
分享一个开源的任务管理工具DooTask(支持私有部署)
分享一个开源的任务管理工具DooTask(支持私有部署)
3542 0
|
开发者
这款酷似飞书文档的工具开源了,支持私有部署!!!
这个酷似飞书文档的工具真的非常好用,体验和飞书差不多,同样支持 Markdown 语法,经常使用 Markdown 写文档的同学一定要试试了,相信你一定会喜欢上它,这个工具是我用差不多20天左右的时间开发的,而且它的前后端项目现在都已经开源了,如果你能帮我推广那我更是感激不尽。所以,如果你想有一个可以私有部署的文档工具,而且体验还特别棒的的,那就快来试试这个吧,相信它不会让你失望的。
1828 0
|
5月前
|
人工智能 API 开发者
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
FastAPI-MCP是一款能将FastAPI应用端点自动转换为符合模型上下文协议(MCP)的开源工具,支持零配置自动发现接口并保留完整文档和模式定义。
2974 112
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
|
9月前
|
数据可视化 项目管理 数据库
一文看懂团队协作工具:谁能胜出2024榜单?
随着远程办公和数字化管理的普及,团队协作工具成为企业必备。本文深入评测了六款主流工具:板栗看板、Notion、Trello、Asana、ClickUp 和 Slack,从功能特色、优缺点、使用场景及性价比等方面进行分析,帮助你选择最适合团队的协作利器。
181 0
|
10月前
|
数据可视化 项目管理 Android开发
从计划到完成:最佳Todolist任务管理软件全指南
在快节奏的工作环境中,高效的任务管理软件成为提升生产力的关键。本文深入评测了几款高人气的Todolist工具,包括板栗看板、Todoist、TickTick、Microsoft To-Do和Trello,从功能、易用性、优缺点等方面进行全面对比,帮助用户根据实际需求选择最适合的任务管理工具。
783 3
|
人工智能 API 决策智能
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
【7月更文挑战第8天】智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
14671 133
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
|
11月前
|
人工智能 JavaScript 数据可视化
Cursor、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比
本文深入解析了 Cursor AI、v0 和 Bolt.new 三大 AI 编程工具的特点与应用场景。Cursor 适合日常编码与团队协作,v0 专注于 UI 原型设计,Bolt.new 擅长全栈原型开发。各工具在功能上互为补充,开发者可根据需求灵活选择,以提升工作效率。
4833 1
|
监控 Ubuntu 安全
|
Java 数据库连接 mybatis
成功解决: Invalid bound statement (not found) 在已经使用mybatis的项目里引入mybatis-plus,结果不能共存的解决
这篇文章讨论了在已使用MyBatis的项目中引入MyBatis-Plus后出现的"Invalid bound statement (not found)"错误,并提供了解决方法,主要是通过修改yml配置文件来解决MyBatis和MyBatis-Plus共存时的冲突问题。
成功解决: Invalid bound statement (not found) 在已经使用mybatis的项目里引入mybatis-plus,结果不能共存的解决
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
114766 0