QUAPE Website

Ultimate Self-Hosted Focalboard Ubuntu 24.04 Setup Guide

Self-Hosted Focalboard Ubuntu 24.04 With PostgreSQL & Nginx

Self-hosted Focalboard Ubuntu 24.04 provides complete control over your project management data. Unlike cloud-based solutions where your sensitive information lives on third-party servers, a self-hosted approach ensures data sovereignty and compliance with organizational security policies.

This comprehensive tutorial walks you through deploying Focalboard with PostgreSQL database and Nginx reverse proxy, creating a secure and scalable environment for your team’s collaboration needs. You’ll learn how to configure SSL certificates for encrypted connections, set up systemd services for automatic startup, and optimize your installation for production use.

Focalboard serves as an excellent open-source alternative for project management, offering kanban boards, task lists, calendar views, and collaborative workspaces all running on your own infrastructure without recurring subscription costs. Whether you’re managing a small team or scaling to enterprise needs, this setup provides the flexibility and performance your organization demands.

Self-Hosted Focalboard Benefits

FeatureSelf-Hosted FocalboardCloud-Based Solutions
Data OwnershipFull control on your serverStored on vendor servers
Monthly CostFree (open-source)$10-25 per user/month
PrivacyComplete data sovereigntySubject to vendor policies
CustomizationUnlimited accessLimited to platform features
ComplianceMeet any regulationDependent on vendor
FeaturesKanban, tables, calendar, gallerySimilar features

For more information, visit the official Focalboard website and check the GitHub repository.

#1 Server Connection

Connect to your Ubuntu 24.04 server via SSH:

ssh root@192.168.x.x

Replace 192.168.x.x with your actual server IP address. Windows users can use PuTTY or Windows Terminal.

#2 Install Required Packages

Update system packages:

apt update

Install web server, SSL tools, and database:

apt install wget unzip curl gnupg nginx python3-certbot-nginx
apt install postgresql postgresql-contrib

#3 Database Configuration

Switch to PostgreSQL user and access the database shell:

su - postgres
psql

Create database and user:

CREATE DATABASE focalboard;
CREATE USER focaluser WITH PASSWORD 'YourSecurePass';
GRANT ALL PRIVILEGES ON DATABASE focalboard TO focaluser;
\q

Replace YourSecurePass with your secure password. Exit to root user:

exit

#4 Download Focalboard

Create installation directory and download the package:

mkdir -p /opt/focalboard
cd /opt/focalboard
wget https://sourceforge.net/projects/focalboard.mirror/files/v7.10.6/focalboard-server-linux-amd64.tar.gz/download -O focalboard-server-linux-amd64.tar.gz

Extract and cleanup:

tar -xzf focalboard-server-linux-amd64.tar.gz
rm focalboard-server-linux-amd64.tar.gz

#5 Focalboard Configuration

Edit the configuration file:

nano /opt/focalboard/focalboard/config.json

Update with your database credentials:

{
  "serverRoot": "http://localhost:8000",
  "port": 8000,
  "dbtype": "postgres",
  "dbconfig": "postgres://focaluser:YourSecurePass@localhost/focalboard?sslmode=disable&connect_timeout=10",
  "useSSL": false,
  "webpath": "./pack",
  "filespath": "./files",
  "telemetry": true,
  "session_expire_time": 2592000,
  "session_refresh_time": 18000,
  "localOnly": false,
  "enablePublicSharedBoards": true,
  "featureFlags": {}
}

Replace YourSecurePass with your actual password. Save with CTRL+X, Y, Enter.

#6 Setup System Service

Create systemd service file:

nano /etc/systemd/system/focalboard.service

Add this configuration:

[Unit]
Description=Focalboard Server
After=network.target

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

[Install]
WantedBy=multi-user.target

Enable and start the service:

systemctl daemon-reload
systemctl enable focalboard
systemctl start focalboard
systemctl status focalboard

#7 Nginx Configuration

Create Nginx site configuration:

nano /etc/nginx/sites-available/focalboard.conf

Add this configuration (replace example.com):

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

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://focalboard;
        proxy_set_header Host $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;
    }

    location ~ /ws/* {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://focalboard;
    }
}

Enable the configuration:

ln -s /etc/nginx/sites-available/focalboard.conf /etc/nginx/sites-enabled/
rm /etc/nginx/sites-enabled/default
nginx -t
systemctl reload nginx

#8 SSL Certificate Setup

Install SSL certificate with Let’s Encrypt:

certbot --nginx -d example.com

Replace example.com with your domain. Follow the prompts to complete setup.

#9 Access Focalboard

Navigate to your domain in a web browser:

https://example.com

Create your first account through the registration page. Initial registration is always allowed, while additional users need invite links.

Deploy on High-Performance Infrastructure

Looking for reliable hosting for your Focalboard installation? QUAPE VPS offers powerful infrastructure built on AMD EPYC processors and ultra-fast NVMe SSD storage. With 99.9% uptime guarantee, full root access, and 24/7 expert support, QUAPE provides the performance your team needs at competitive pricing.

Get started with QUAPE VPS Hosting and experience the difference of enterprise-grade hardware for your self-hosted applications.

Final Thoughts

You now have a fully functional Focalboard installation on Ubuntu 24.04 with PostgreSQL database backend, Nginx reverse proxy, and SSL encryption. This self-hosted setup gives you complete control over your project management data while providing your team with powerful collaboration tools.

Athif Quape
Athif Quape

Leave a Reply

Your email address will not be published. Required fields are marked *

Let's Get in Touch!

Dream big and start your journey with us. We’re all about innovation and making things happen.