macrostack

Layer 5 · self-hosting reality check

What it actually takes to self-host Vikunja

The docs say Not stated by the vendor. Cloudron's package runs it within the default 256 MB app-container limit and runs PostgreSQL separately. In practice you want 1 GB for Vikunja plus PostgreSQL on one box. The docs say you probably won't need Redis until you have more than a handful of users. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.

Usually reached from Trello alternatives, where Vikunja is one of the picks.

Wondering whether you need to at all? Is Trello free? — what the free tier actually allows, and where the wall is.

RAM — documented minimumNot stated by the vendor. Cloudron's package runs it within the default 256 MB app-container limit and runs PostgreSQL separately
RAM — what it really needs1 GB for Vikunja plus PostgreSQL on one box. The docs say you probably won't need Redis until you have more than a handful of users
CPU1 vCPU; not stated by the vendor
DiskThe files/ directory for attachments, plus the database. Both stay small unless people attach large files.
Monthly cost$5–6/mo for a 5–20 user instance on a 1 GB VPS
Setup time20 minutes with docker compose, an hour with a reverse proxy and TLS
How you install itOne vikunja/vikunja image contains both the API and the web frontend. The docs' compose pairs it with PostgreSQL 18, and MariaDB and SQLite versions exist. Create files/ and chown it to UID 1000 before the first start.
Ongoing maintenanceFrequent releases. 2.0.0 in February 2026 fixed four critical security issues, and 2.1 through 2.6 followed by August. Upgrade promptly, and back up the database and files/ separately.
Where it stops scalingA single Go binary. SQLite is fine for a handful of users. Past that, the docs recommend MySQL or PostgreSQL, plus Redis for caching.

The thing that catches people out

Vikunja will not work until VIKUNJA_SERVICE_PUBLICURL exactly matches the address people type. With CORS on, which is the default, it refuses to start without it ('service.publicurl is required when cors.enable is true'). The bundled frontend then sends every browser to that one URL, so giving the same instance both a LAN name and a public name breaks (open issue #2827). Pick one https hostname and set it before the first start. Also chown files/ to UID 1000, and use PostgreSQL rather than SQLite once you have more than a handful of users.

When not to self-host Vikunja

You need the same instance on two hostnames (LAN and public), or you need Jira-style workflows and permission schemes. Plane or OpenProject fit those. Vikunja is a task manager for individuals and small teams.

Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.

Other Layer 5 self-hosting guides

Common questions

How much RAM does Vikunja actually need?
1 GB for Vikunja plus PostgreSQL on one box. The docs say you probably won't need Redis until you have more than a handful of users in practice. The documented minimum is Not stated by the vendor. Cloudron's package runs it within the default 256 MB app-container limit and runs PostgreSQL separately, which is the figure at which the process starts rather than the figure at which it works under real use. 1 vCPU; not stated by the vendor alongside it.
What does self-hosting Vikunja cost per month?
$5–6/mo for a 5–20 user instance on a 1 GB VPS This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for frequent releases. 2.0.0 in February 2026 fixed four critical security issues, and 2.1 through 2.6 followed by August. Upgrade promptly, and back up the database and files/ separately.
How long does it take to set up Vikunja?
20 minutes with docker compose, an hour with a reverse proxy and TLS, via One vikunja/vikunja image contains both the API and the web frontend. The docs' compose pairs it with PostgreSQL 18, and MariaDB and SQLite versions exist. Create files/ and chown it to UID 1000 before the first start..
When should I NOT self-host Vikunja?
You need the same instance on two hostnames (LAN and public), or you need Jira-style workflows and permission schemes. Plane or OpenProject fit those. Vikunja is a task manager for individuals and small teams.
What is the most common mistake when self-hosting Vikunja?
Vikunja will not work until VIKUNJA_SERVICE_PUBLICURL exactly matches the address people type. With CORS on, which is the default, it refuses to start without it ('service.publicurl is required when cors.enable is true'). The bundled frontend then sends every browser to that one URL, so giving the same instance both a LAN name and a public name breaks (open issue #2827). Pick one https hostname and set it before the first start. Also chown files/ to UID 1000, and use PostgreSQL rather than SQLite once you have more than a handful of users.
The Macrostack brief

New swaps, worth your inbox.

A short, occasional email when we add a high-intent alternative or ship a new head-to-head. No spam, no selling your address — unsubscribe in one click.