Focalboard – 自托管项目管理工具

Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.

功能和界面上类似 Notion

下文将展示如何在 Debian 11 下无域名搭建 Focalboard

环境

  • Debian 11

参考

步骤

以下指令均在 root 用户下执行,其他用户酌情添加 sudo

获取并安装 Focalboard

Release 界面下载最新版 server 压缩包并解压

wget https://github.com/mattermost/focalboard/releases/download/v0.10.0/focalboard-server-linux-amd64.tar.gz
tar zxvf focalboard-server-linux-amd64.tar.gz

将 Focalboard 移动到 opt 目录

mv focalboard /opt

安装并配置 Nginx

包管理安装 Nginx

apt install nginx

/etc/nginx/sites-available 下新建 focalboard 配置文件,写入以下内容

upstream focalboard {
   server localhost:8000;
   keepalive 32;
}

server {
   listen 80;

   server_name _;

   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://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://focalboard;
   }
}

建立软链接、检查配置文件并重载

ln -s /etc/nginx/sites-available/focalboard /etc/nginx/sites-enabled
nginx -t
nginx -s reload

安装并配置 PostgreSQL

包管理安装

apt install postgresql postgresql-contrib

切换到 postgre 用户,新建数据库和数据库用户

sudo --login --user postgres
psql
# 在 psql 内执行
CREATE DATABASE focalboard;
CREATE USER fb WITH PASSWORD 'veryStrongPassword';

注意替换数据库名称、用户名称和密码

退出 psql 和 postgre 用户

修改 focalboard 配置文件

编辑 focalboard 根目录下的 config.json 文件,修改 dbtype 和 dbconfig 的值

"dbtype": "postgres",
"dbconfig": "postgres://fb:[email protected]/focalboard?sslmode=disable&connect_timeout=10"

创建系统服务

/etc/systemd/system 下新建 focalboard.service 文件,写入以下内容

[Unit]
Description=Focalboard server

[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/opt/focalboard/bin/focalboard-server
WorkingDirectory=/opt/focalboard

[Install]
WantedBy=multi-user.target

启动 focalboard 并添加开机启动

执行

systemctl start focalboard.service
systemctl enable focalboard.service

 效果

注册新用户后即可开始使用

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据