Wednesday, March 16, 2022

How To install Setup Focalboard Project Management on Ubuntu 20.04

in This Tutorial you will learn "How To install Setup Focalboard Project Management on Ubuntu 20.04

Focalboard is an open-source self-hosted project management tool used for both personal and development use. It serves as an alternative to Asana, Trello, and Notion. Focalboard helps one organize, track and manage projects across systems such as Windows, Mac, or Linux.
Hoempage - https://www.focalboard.com/
_________________________________________________________________________________________
Server - Os:  Ubuntu 20.04.3 LTS 64Bit        | IP -192.168.1.80            |Hostname -  ubuntu.example.com
_________________________________________________________________________________________
lsb_release -d ; hostname -I ; hostname
VER=$(curl -s https://api.github.com/repos/mattermost/focalboard/releases/latest|grep tag_name | cut -d '"' -f 4)
wget https://github.com/mattermost/focalboard/releases/download/${VER}/focalboard-server-linux-amd64.tar.gz
tar -xvzf focalboard-server-linux-amd64.tar.gz ; mv focalboard /opt

apt install nginx postgresql postgresql-contrib -y
rm /etc/nginx/sites-enabled/default ; nano /etc/nginx/sites-available/focalboard
upstream focalboard {
   server localhost:8000;
   keepalive 32;
}

server {
   listen 80 default_server;

   server_name ubuntu.example.com;

   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/focalboard
sudo --login --user postgres
psql
CREATE DATABASE boards;
CREATE USER boardsuser WITH PASSWORD 'Passw0rd';
\q
exit

nano /opt/focalboard/config.json
"dbtype": "postgres",
"dbconfig": "postgres://boardsuser:Passw0rd@localhost/boards?sslmode=disable&connect_timeout=10",
nano /lib/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

systemctl daemon-reload ; systemctl start focalboard.service ; systemctl enable focalboard.service
systemctl reload nginx
http://ubuntu.example.com
_________________________________________________________________________________________


No comments:

Post a Comment