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
效果
注册新用户后即可开始使用