
Deploy Focalboard on Your Own Server
Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
Want to deploy Focalboard on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Focalboard?
Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. For more info visit https://www.focalboard.com/
Self-Host Focalboard
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
Deploy
Copy the configuration and run it on your server.
services:
focalboard:
environment:
CONFIG_JSON: '{"serverRoot":"http://focalboard:8000","port":8000,"dbtype":"postgres","dbconfig":"postgres://boardsuser:6360337c8543e2e5@focalboard-db/boards?sslmode=disable&connect_timeout=10","postgres_dbconfig":"dbname=boards sslmode=disable","useSSL":false,"webpath":"./pack","filespath":"./files","telemetry":false,"session_expire_time":2592000,"session_refresh_time":18000,"localOnly":false,"enableLocalMode":true,"localModeSocketLocation":"/var/tmp/focalboard_local.socket"}'
depends_on:
- focalboard-db
focalboard-db:
image: postgres:9.6.21
environment:
POSTGRES_DB: boards
POSTGRES_PASSWORD: 6360337c8543e2e5
POSTGRES_USER: boardsuser
volumes:
- focalboard-db-data:/var/lib/postgresql/data
volumes:
focalboard-db-data: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:8000
Why Self-Host Focalboard?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"