Why choose a minimalist project manager
SaaS project management tools tend to grow heavier with every release: new views, AI dashboards and reporting modules that bury the features you actually use. Kaneo starts from the opposite assumption: most teams need a Kanban board and a link to their code repository. Self-hosting puts you back in control — your tasks in a PostgreSQL database on your own VPS, exportable as SQL at any time, with no premium plan needed for webhooks or unlimited history.
What you get with self-hosted Kaneo
- Drag-and-drop Kanban boards — create columns, add tasks and track progress at a glance.
- GitHub Milestones sync — connect your GitHub App to automatically mirror milestones as projects and issues as tasks.
- Webhook destinations — trigger outbound HTTP calls on every task state change to notify Slack or your CI.
- MIT licence — no commercial restrictions, free to fork and adapt.
- Just two containers — Node.js app and PostgreSQL 16, total memory footprint under 400 MB.
- SMTP-free login — email and password by default, no verification link step.
- Multi-workspace support — isolate projects by client or team in separate workspaces.
Prerequisites
A ServOrbit VPS with Ubuntu 24.04 and at least 1 GB of RAM is sufficient for a small team. Kaneo is lightweight: the Hono (Node.js) API and the Vue.js SPA together consume under 200 MB at idle; PostgreSQL 16 adds around 300 MB. Docker and Docker Compose are provisioned automatically by AWX on deployment. No domain name is required — Kaneo works behind the URL assigned by ServOrbit — but a dedicated subdomain (e.g. projects.yourcompany.com) simplifies sharing.
Deploy Kaneo on your VPS
One-click deployment from the ServOrbit Marketplace
Go to Marketplace → Collaboration & Productivity → Kaneo in your ServOrbit control panel and click Deploy. AWX installs Docker, generates the database and auth secrets, configures nginx and starts both containers (app + PostgreSQL) in under 2 minutes.
Create the first admin account
Open the Kaneo URL in your browser. A sign-up form appears — this is the first-run setup. Enter your name, email and a password. The first user automatically gets admin rights on the default workspace.
Create a workspace and your first project
After signing in you land on the workspace home. Click New Project, give it a name and choose a colour. Add your first task by clicking + in the Kanban column of your choice. Assign it, add a description and a due date if needed.
Connect GitHub (optional)
If your code lives on GitHub, install the Kaneo GitHub App from Settings → Integrations. Once authorised, Kaneo syncs GitHub Milestones as projects and issues as tasks. Webhooks can update a task's state automatically on a Pull Request merge.
Set up notification webhooks (optional)
In Settings → Webhooks, add your Slack Incoming Webhook URL or ticketing system endpoint. Kaneo sends a JSON POST on every state change — useful for team notifications without polling.
Close registration as soon as your team is set up: in Settings → General, disable the 'Allow registrations' option. Without this step, anyone who knows the URL can create an account. For code-first teams who prefer commits to stories, connect the GitHub App and let PRs close tasks automatically — zero manual board updates.
Kaneo vs Vikunja: which one to choose?
Vikunja is the natural choice if you need Gantt views, recurring tasks, CalDAV sync with your calendar or an extended REST API. Kaneo is a better fit for teams who live in their code editor: a clean Kanban, a direct GitHub connection and webhooks to automate without cognitive overhead. Both are self-hostable and available on the ServOrbit marketplace.