部署开源项目管理工具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
相关文章
|
8月前
|
jenkins Java 持续交付
Jenkins,持续交付的利器:揭秘插件生态系统(一)
Jenkins,持续交付的利器:揭秘插件生态系统
|
3月前
|
数据采集 网络安全 文件存储
快速部署 OpenFOAM 社区版
OpenFOAM(Open Source Field Operation and Manipulation)是对连续介质力学问题进行数值计算的软件。可进行数据预处理、后处理和自定义求解器,常用于计算流体力学领域。本文介绍如何通过计算巢快速部署OpenFOAM社区版服务。
快速部署 OpenFOAM 社区版
|
3月前
|
存储 弹性计算 运维
快速部署 K3s 社区版
K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。K3s 是一个完全兼容的 Kubernetes 发行版。本文向您介绍如何通过计算巢快速部署K3s社区版。
快速部署 K3s 社区版
|
4月前
|
人工智能
快速部署 Xinference 社区版
Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。本文介绍如何使用计算巢快速部署Xinference服务。
快速部署 Xinference 社区版
|
5月前
|
存储 弹性计算 搜索推荐
快速部署 Qdrant 社区版
Qdrant是一个矢量相似性搜索引擎,提供生产就绪服务和方便的 API,用于存储、搜索和管理具有额外负载的点(即矢量)。您可以将有效负载视为附加信息,可以帮助您深入搜索并接收可以提供给用户的有用信息。本文介绍如何使用计算巢快速部署Qdrant服务。
快速部署 Qdrant 社区版
|
5月前
|
弹性计算 网络安全
快速部署 RAGFlow 社区版
RAGFlow是一个基于深度文档理解的开源RAG(检索增强生成)引擎。当与LLM集成时,它能够提供真实的问答功能,并得到各种复杂格式数据的充分引用的支持。本文介绍如何通过计算巢快速部署 RAGFlow社区版。
快速部署 RAGFlow 社区版
|
5月前
|
人工智能 弹性计算 自然语言处理
快速部署 MaxKB 社区版
MaxKB = Max Knowledge Base,是一款基于 LLM 大语言模型的开源知识库问答系统,旨在成为企业的最强大脑。本文介绍如何使用计算巢快速部署 MaxKB 社区版。
快速部署 MaxKB 社区版
|
5月前
|
弹性计算 网络安全
快速部署 Bytebase 社区版
Bytebase 作为一款好用又强大的开源建站工具,配合上不同的模板与插件,可以很好地帮助你构建你心中的理想站点。它可以是你公司的官方网站,可以是你的个人博客,也可以是团队共享的知识库,甚至可以是一个论坛、一个商城。本文介绍使用计算巢快速部署Bytebase 社区版。
快速部署 Bytebase 社区版
|
7月前
|
人工智能 机器人 开发工具
快速部署 Flowise 社区版
FlowiseAI 是一个开源的低代码开发工具,专为开发者构建定制的语言学习模型(LLM)应用而设计。 通过其拖放式界面,用户可以轻松创建和管理AI驱动的交互式应用,如聊天机器人和数据分析工具。 它基于LangChain框架,支持与多种AI模型和数据库集成,实现高度可定制化的流程自动化​。本文介绍通过计算巢快速部署Flowise社区版服务。
|
8月前
|
Kubernetes jenkins 测试技术
Jenkins,持续交付的利器:揭秘插件生态系统(二)
Jenkins,持续交付的利器:揭秘插件生态系统