Vikunja
vikunja.ioWeb, Android LinuxVikunja is an open-source to-do application. It is suitable for a wide variety of projects, supporting List, Gantt, Table and Kanban views to visualize all tasks in different contexts. For collaboration, it has sharing support via private teams or public links. It can be self-hosted or used as a managed service for a small fee.
- Homepage:vikunja.io
- GitHub:github.com/go-vikunja/vikunja
- Web info:web-check.xyz/check/vikunja.io
Vikunja Source Code
Author
Description
The task manager you actually own.
Homepage
https://vikunja.ioRepository
- LicenseAGPL-3.0
- Created28 Nov 18
- Primary languageGo
- Size140,331 KB
- Stars5,846
- Forks776
- Watchers5,846
Top Contributors
@kolaente (8449)
@renovate[bot] (1430)
@dpschen (778)
@vikunja-bot (285)
@tink-bot (128)
@dependabot[bot] (35)
@Elscrux (35)
@Copilot (28)
@maggch97 (17)
@WofWca (16)
@claude (14)
@JohnStarich (13)
@mdrkrg (13)
@xela-zone (6)
@adrinux (6)
@profi248 (5)
@Tyagiquamar (5)
@Tokra110 (4)
@davidangel (4)
@shilch (4)
@jtojnar (4)
@freaktechnik (4)
@andreymal (4)
@ncallaway (4)
@kigiela (4)
@TowyTowy (3)
@surfingbytes (3)
@Viehlieb (3)
@rhclayto (3)
@kergma-lw (3)
@NeoHuncho (3)
@mithileshgupta12 (3)
@LucaBernstein (3)
@eljef (3)
@13rac1 (3)
@Kshot3000 (2)
@nithinvarma411 (2)
@zapp88 (2)
@kallegrens (2)
@gabeklavans (2)
@bradmartin333 (2)
@azymondrian (2)
@javabrett (2)
@KaibutsuX (2)
@furai (2)
@mnr73 (2)
@Quiwy (2)
@MGChecker (2)
@CrazyWolf13 (2)
@vlasov-y (2)
@reggi (1)
@TheEdgeOfRage (1)
@ThiloSavary (1)
@deadLocks21 (1)
@Uenluom (1)
@v-yarotsky (1)
@vovochka404 (1)
@blancqua (1)
@XiangCany (1)
@TheZoker (1)
@blacksmith-sh[bot] (1)
@busslina (1)
@confor (1)
@subnut (1)
@sjwasko (1)
@Saxos-Simone (1)
@IAMSamuelRodda (1)
@remilapeyre (1)
@RyanHecht (1)
@ryanchou1994 (1)
@RoboMagus (1)
@szuro (1)
@rhysmcneill (1)
@Rein-R3 (1)
@Raymi306 (1)
@IDDQD69 (1)
@treysu (1)
@themylogin (1)
@the-darkvoid (1)
@taiwithers (1)
@stephen-hill (1)
@SteffeyDev (1)
@simonsmd (1)
@BenLocal (1)
@rudd6617 (1)
@rriski (1)
@primeapple (1)
@naleo (1)
@maximilize (1)
@leggettc18 (1)
@kompetenzbolzen (1)
@carl-unique (1)
@jontyms (1)
@jonastheis (1)
@jayden-chan (1)
@j-hugo (1)
@graves501 (1)
@erri120 (1)
@emilsteixner (1)
@edelgrace (1)
Recent Commits
Frederick [Bot](25 Oct 26)
chore(i18n): update translations via Crowdin
Frederick [Bot](24 Oct 26)
chore(i18n): update translations via Crowdin
kolaente(23 Oct 26)
feat(pwa): register a share target for creating tasks
kolaente(23 Oct 26)
feat(tasks): prefill quick add from home query params /?title=&url=&description= opens the quick actions dialog with the new task command, the quoted title and the page link shown as a removable row. The link and description become the task description. The params are stripped after reading. This enables a bookmarklet to save the current page as a task.
kolaente(21 Oct 26)
fix(quick-actions): create the task instead of opening a lone search result With the new task command selected, the hidden search results still drove Enter: a title matching exactly one project opened that project.
kolaente(23 Oct 26)
fix(migration): recreate webhooks table missing its core columns Fresh v0.22.0 installs never got a webhooks table because the model was missing from the init schema. The v1.1.0 basic auth migration then used a partial Sync, which created a stub table with only the basic auth columns. Since v2.7.1 the overdue reminder cron selects webhooks.events every minute and fails on these installs. Fixes #4214
kolaente(23 Oct 26)
fix(mcp): forward fields body argument on tools without projection The fields projection argument was stripped from every tool's arguments, including write tools like tasks_bulk_update where fields is part of the request body, so bulk updates always failed with ErrBulkTaskFieldsRequired. Fixes #4235
kolaente(23 Oct 26)
fix(migration): explain blocked private planka hosts Planka instances on a private network were rejected by the SSRF guard with a generic "could not reach" error. Return a dedicated error pointing at outgoingrequests.allownonroutableips instead. Refs #4234
Frederick [Bot](23 Oct 26)
chore(i18n): update translations via Crowdin
kolaente(22 Oct 26)
fix(events): allow new handlers while draining
kolaente(22 Oct 26)
fix(shortcuts): respect Latin keyboard layouts
kolaente(22 Oct 26)
fix(frontend): match go-datemath in the datemath evaluator Ports go-datemath's test cases. Adds optional factors (now+M), the Q/fy/fQ/b units, the remaining anchor forms (year, year-month, time, millisecond timestamps, timezone offsets), and absolute h/m/s arithmetic.
kolaente(21 Oct 26)
fix(upcoming): highlight datemath ranges in the date picker calendar
kolaente(21 Oct 26)
feat(frontend): add datemath evaluator
kolaente(21 Oct 26)
test(table): cover creating tasks from the table view
kolaente(21 Oct 26)
feat(table): add quick-add task input below the table view
kolaente(21 Oct 26)
feat(tasks): allow disabling AddTask autofocus
kolaente(22 Oct 26)
feat(frontend): mark task done and go back with Shift+T Pressing Shift+T on the task detail marks the task done and, once the save succeeds, returns to the list the task was opened from (or its project). Refs #4224
kolaente(22 Oct 26)
fix(migration): don't reuse a stale OAuth code when migrating again The OAuth code stayed in the URL after returning from the provider. Reloading or navigating back to it and confirming "migrate again" re-sent the old code, importing from the previously authorized account again instead of asking the provider to log in. Strip the code and state from the URL once read, keeping them in component state for the migration request. Reported in https://community.vikunja.io/t/9453
kolaente(15 Oct 26)
docs: document unaccent for accent-insensitive search Refs #4131
kolaente(15 Oct 26)
ci: enable unaccent on the postgres test job Refs #4131
kolaente(15 Oct 26)
fix(db): rank accent-insensitive matches as exact Without folding accents in SearchRelevanceOrder, "Água" matched a search for "agua" but ranked like a substring match. Refs #4131
kolaente(15 Oct 26)
feat(db): make ILIKE accent-insensitive when unaccent is available Wraps both sides in unaccent() on postgres when the extension is callable, so searching "manutencao" finds "Manutenção". Refs #4131
kolaente(15 Oct 26)
feat(db): detect unaccent extension on postgres Refs #4131
kolaente(16 Oct 26)
docs(quick-add-magic): list spelled out relative dates in help
kolaente(16 Oct 26)
refactor(quick-add-magic): share number word parsing with repeat parser
kolaente(16 Oct 26)
feat(quick-add-magic): parse spelled out relative dates like "in two weeks" Supports number words (one-twelve), "a"/"an", and minutes/years units. Also requires word boundaries so "plugin 2 days" or "in a weekend" no longer match.
kolaente(22 Oct 26)
feat(time-tracking): show who tracked each time entry
kolaente(22 Oct 26)
feat(api): return the user object instead of user_id on time entries The websocket timer push now routes by entry.User, so delete loads the user before dispatching.
kolaente(21 Oct 26)
test(kanban): wait for the task card to be actionable before dragging it off screen
Vikunja Website
Website
Vikunja: The task manager you actually own
Vikunja is open-source task management you can self-host. Lists, Kanban, Gantt, and more — on your server or ours. Made and hosted in the EU.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address172.67.172.167
- LocationSan Francisco,California,United States of America,NA
- ISPCloudFlare Inc.
- ASNAS13335
Associated Countries
US
DE
Safety Score
Website marked as safe
100%
Trackers
No known trackers found
Blacklist Check
vikunja.io was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Vikunja Docker
Container Info
Vikunja
The to-do app to organize your life.| Before use create custom template and Edit: VIKUNJA_SERVICE_FRONTENDURL , VIKUNJA_API_URL & VIKUNJA_SERVICE_JWTSECRET
Run Command
docker run -d \
-e PUID=${PUID} \
-e PGID=${PGID} \
-e PORT=${PORT} \
Compose File
version: 3.8
services:
vikunja:
environment:
PUID: 1000
PGID: 1000
PORT: Environment Variables
- Var NameDefault
- PUID1000
- PGID1000
- PORTnull
Vikunja Reviews
More Task Management
A Getting Things Done + Pomodoro productivity system for desktop and mobile. Local-first, no account required, can sync via WebDAV/Dropbox/local file or self-hosted deployment. With a CLI, REST API and MCP for scripting, has optional BYOK AI.
Privacy-respecting, open-source task manager and time tracker. All data is stored locally on your device - no account required, no cloud dependency, and zero telemetry. Supports Jira, GitLab, GitHub, Gitea, OpenProject and CalDAV integration. Features include time tracking, Pomodoro timer, break reminders, and idle detection.
About the Data: Vikunja
Change History
- Moved from Productivity › Cloud Productivity Suites #805
Edit Vikunja Data
You can edit Vikunja's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access Vikunja's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/vikunjaThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Vikunja
Help your friends compare Task Management, and pick privacy-respecting software and services.
Share Vikunja and Awesome Privacy with your network!