freedzhost.cloud

Homelab 13: a task list for you and your agents with Vikunja

Level BeginnerEstimated time 30 minRead first Homelab 2: one HTTPS entrance for all your servicesA word you don't know? Glossary

Vikunja is an open-source task manager: projects, lists, Kanban boards, due dates, reminders, and an app for the phone. It imports from Todoist and Microsoft To Do. In an agent network it plays one more role: a shared queue, where agents file what they found and where the decisions only a human can take wait for you.

Youweb, phone appVikunjaprojects, tasks, due datesYour agentsAPI token, limitedplan, tick offfile tasks, read statusa decision waits for you
One task list, two kinds of users. You work from the web page and the phone; your agents read and write through the API, each with its own token limited to what it needs. A decision only you can take becomes a task waiting for you.

A bit of history

Vikunja, started in 2018 by Konrad Langenberg, is a self-hosted to-do and project app: lists, Kanban boards, Gantt charts and shared tasks. Its interface follows the habits of commercial tools, so leaving one costs little, and its API lets your scripts and agents record what still has to be done.

1. Run it

Vikunja ships as a single container (web interface and API together). SQLite is enough for one household; PostgreSQL if several people use it heavily. Set at least:

VIKUNJA_SERVICE_PUBLICURL=https://tasks.yourdomain.tld/
VIKUNJA_SERVICE_SECRET=<a long random value>

Publish it through your HTTPS proxy (Homelab 2). Create your account, then close registration:

VIKUNJA_SERVICE_ENABLEREGISTRATION=false

2. Bring your lists

In your user settings, the migration tools import projects and tasks from Todoist or Microsoft To Do. Do it once, check a few lists, then delete the old account.

3. Give your agents a token, not your password

In Settings → API Tokens, create one token per agent, with an expiry date and only the permissions it needs (for example: read projects, create tasks). An agent can then file a task such as "Approve the new backup schedule?", and you decide from your phone.

Traps

Without VIKUNJA_SERVICE_SECRET, Vikunja draws a random secret at every start: each restart logs everyone out, and you will think something is broken. Set it once.

Registration is open by default. On a server reachable from the internet, close it as soon as your accounts exist.

One token per agent, never shared: when an agent misbehaves, you revoke its token without breaking the others.

Sources

Found this useful? Tell us what to measure next.