Ubuntu 20.04服务器安装部署Focalboard教程

Focalboard被认为是Trello、Asana和Notion的免费开源替代品,它带有直观的图形化界面,可以帮助用户组织、跟踪和管理项目。本教程主要介绍下如何在Ubuntu 20.04上用Docker安装部署Focalboard个人服务器。

1、首先部署一台全新的Ubuntu 20.04服务器(Ubuntu 20.04 TLS是目前国内或国外服务器常用的Linux发行版之一),本文以RAKsmart美国服务器(操作系统选的是Ubuntu 20.04 TLS)为例。

2、RAKsmart美国服务器开通后,使用SSH工具(如PuTTY)登录到该服务器,然后可参考以下步骤来安装Focalboard。

3、运行下面命令安装Nginx网络服务器。

$ sudo apt install nginx

4、卸载Certbot和Docker旧版本。

$ sudo apt remove certbot docker docker.io containerd runc

5、确保快照版本保持最新。

$ sudo snap install core; sudo snap refresh core

6、安装Certbot

$ sudo snap install –classic certbot

7、运行Certbot,并按照命令行界面提示输入当前域名,将所有流量重定向到HTTPS。

$ sudo certbot certonly –standalone

8、如果提供了SSL证书和私钥路径,我们最好将其记录下来,后期配置SSL证书需要用到,例如:

  • Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
  • Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem

9、安装Docker。

$ sudo snap install docker

10、创建一个新文件夹。

$ mkdir focalboard

$ cd focalboard

11、然后再创建一个新的Docker合成文件。

$ nano docker-compose.yml

12、将以下代码段添加到前文创建的文件中。

version: ‘3.8’
services:
focalboard:
ports:
– ‘8000:8000’
restart: always
image: mattermost/focalboard

13、使用Ctrl+X快捷键退出文件,然后按下Y键确认,之后按Enter键进行下一步操作。

14、在分离模式下使用docker-compose命令运行Focalboard。

$ sudo docker-compose up -d

15、最后,使用下面命令检查Focalboard是否正在运行。如果是正常运行,那么应该会输出类似Up x seconds/minutes的结果。

$ sudo docker ps

STATUS

Up x seconds/minutes

到这里为止,我们便在该Ubuntu 22.04服务器上成功安装了Focalboard,并获得一个签名的SSL证书。

接下来,我们还可以使用SSL证书和Nginx反向代理来保护Focalboard个人服务器,以下的example.com以实际的域名或服务器IP地址进行替换即可。

删除Nginx默认配置文件。

$ sudo rm /etc/nginx/sites-enabled/default

在Nginx中创建并打开新的配置文件sites-available。

$ sudo nano /etc/nginx/sites-available/focalboard

将以下内容粘贴到文件中,并把example.com替换为实际域名或IP地址。

upstream focalboard {
server localhost:8000;
}

server {
listen 443 ssl http2;
server_name example.com;

gzip on;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_session_cache shared:MySSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;

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

之后,按快捷键Ctrl+X保存并退出编辑文件,按提示键入Y和Enter。在Nginx中创建一个指向新配置文件的链接目录。

$ sudo ln -s /etc/nginx/sites-available/focalboard /etc/nginx/sites-enabled/focalboard.conf

测试配置文件。如果测试成功,我们将会看到类似以下的成功消息。

$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

重新加载Nginx使更改生效。

$ sudo /etc/init.d/nginx reload

现在,我们可以访问https://example.com导航到Focalboard欢迎界面,然后根据实际需要创建账户并登录即可。

THE END
点赞768 分享