Vikunja

vikunja.io
Vikunja

Vikunja 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.

Open Source

Vikunja Source Code

Author

go-vikunja

Description

The task manager you actually own.

#api#golang#project-management#self-hosted#todo#todoapp#todolist#vuejs

Homepage

https://vikunja.io

Repository

  • LicenseAGPL-3.0
  • Created28 Nov 18
  • Primary languageGo
  • Size140,331 KB
  • Stars5,846
  • Forks776
  • Watchers5,846

Language Usage

Language Usage

Project Health

  • Last commit10 hours ago
  • Open issues255
  • Latest releasevue3

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

  • USUS
  • DEDE

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

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

#Tools#Productivity

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

About the Data: Vikunja

Change History

  • Moved from Productivity › Cloud Productivity Suites by @ltguillaume #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/vikunja

The 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!