Let me start with a confession: I’m a recovering sticky note addict. For years, my desk looked like a rainbow threw up on it. Project deadlines, grocery lists, vague ideas for a sci-fi novel—all plastered on neon-coloured squares. That’s when I discovered Focalboard, an open-source project management tool that’s like Trello’s cooler, self-hosted cousin. And guess what? I deployed it using Docker 🐳 in under 15 minutes. No IT degree is required.
![Deploy Focalboard on Docker]()
In this article, I’ll walk you through deploying Focalboard on Docker🐳, even if your tech expertise stops at rebooting the Wi-Fi router. We’ll laugh, we’ll cry (hopefully not), and by the end, you’ll have your own productivity powerhouse. Let’s get started.
Why Focalboard? Think “Trello, But You Own It”
Focalboard is like Trello’s rebellious cousin who refuses to sell your data. It’s open-source, free, and runs on your terms. You can:
- Create kanban boards, calendars, or to-do lists.
- Assign tasks to your cat (if you want—no judgment).
- Host it on your own server or even a Raspberry Pi.
I use it for everything: writing deadlines, meal planning, and tracking my progress in Stardew Valley (priorities, right?).
But here’s the kicker: Focalboard doesn’t force you into the cloud. Your data stays wherever you put it. For small teams, freelancers, or paranoid organizers like me, that’s a win.
Why Docker🐳? For People Who Hate “It Works on My Machine”
Confession: I used to think Docker was for people who owned multiple monitors and said things like “Kubernetes” unironically. It turns out it’s just a way to run apps without turning your computer into a Jenga tower of software dependencies.
The analogy finally clicked for me: Imagine you’re baking a cake. Normally, you’d need to buy flour, eggs, and a mixing bowl, right? Docker is like getting a pre-measured kit with everything inside—even the bowl. You just add water (or in this case, a command), and it works. No hunting for weird ingredients like “Node.js version 14.8” or “PostgreSQL configs.”
With Docker, Focalboard runs in a tidy container—a sandbox that keeps it separate from the rest of your system. No mess, no conflicts, and if you screw up? Delete the container and start over. It’s the tech equivalent of a reset button.
Step 1. What You’ll Need?
- Docker 🐳 installed: Docker Desktop for beginners (Windows/Mac) or Docker Engine for Linux you can follow my article
- A text editor: VS Code, Notepad++, or even Nano.
- Basic terminal skills: You’ll type a few commands—no hacking required.
- 15 minutes: Seriously, it’s that quick.
Step 2. Pulling the Focalboard Image
Docker images are like blueprints for containers. Focalboard’s official image lives on Docker Hub, a library of pre-built images. To download it:
docker pull mattermost/focalboard
![Pulling the Focalboard Image]()
This grabs the latest version. Wait for the download to finish—a good time to refill that coffee.
Step 3. Running Focalboard in a Container
Now, let’s start Focalboard with this command:
docker run -d -p 80:8000 --name focalboard mattermost/focalboard
![Running Focalboard in a Container]()
Let’s break this down
-d
: Runs the container in the background (so you can close the terminal).
-p 80:8000
: Maps port 8000 (where Focalboard runs inside the container) to port 80 on your machine.
--name focalboard
: Names your container “focalboard” for easy reference.
Wait, What’s a Port?
Think of ports like doors on your computer. Port 80 is the default door for web traffic. By mapping it, you’re saying, “Hey, any web requests to my computer should go straight to Focalboard.”
Step 4. Login and Pretend You’re Organized
Open your browser and go to http://localhost
. You’ll see:
![]()
- A setup screen. Create an admin account (please don’t use “admin/admin”).
- Name your workspace (e.g., “My Chaos Headquarters”).
- Start adding boards!
First board suggestion: Make a “Learn Docker” board. Add a card called “Pat self on back.” Check it off immediately.
Docker 🐳 Compose. For When You Want to Feel Fancy
If you’re the type who color-codes their Google Calendar, use Docker Compose. It’s a config file that automates everything.
Create a file called docker-compose.yml
and add:
version: '3'
services:
focalboard:
image: mattermost/focalboard
ports:
- "80:8000"
volumes:
- focalboard_data:/data
restart: unless-stopped # Auto-restarts if your Wi-Fi blinks
volumes:
focalboard_data:
Save it, then run:
docker-compose up -d
Why this rules
- Your setup is documented in one file.
- You can recreate it with one command (handy for moving to a new computer).
- It makes you feel like you’re in The Matrix.
When Things Go Wrong (Because They Will)
Problem: You can’t access http://localhost
.
Fix: Run docker ps
. If nothing’s running, check logs with docker logs focalboard
.
Problem: “Permission denied” errors on Linux.
Fix: Run sudo chown -R $USER:$USER /var/lib/docker/volumes
. (Translation: “Computer, I am your owner now.”)
Problem: You forgot to use -v
and lost all your boards.
Fix: Cry. Then redo Step 3 with -v focalboard_data:/data
.
Final Thoughts. You’re a DevOps Engineer Now
Look at you! You’ve deployed a self-hosted project management tool without calling your nerdy nephew for help. Focalboard + Docker🐳 is a game-changer:
- No more subscription fees.
- No more cloud anxiety.
- All the satisfaction of saying, “I host it myself.”
Go forth and organize your life. And if Docker still feels intimidating, remember: I once accidentally ran rm -rf /
on a test server. We’ve all been there.