Vikunja - The Self Hosted To-Do App to Organize Your Life

Vikunja is a open source, self hosted to-do portal with a bunch of awesome features like email reminders, category tags, notes and more. ☑️

Vikunja - The Self Hosted To-Do App to Organize Your Life

Finding yourself in an unorganized mess lately? Well, you're in the right place because today I am introducing Vikunja!

What is Vikunja?

Vikunja is a open source,  self hosted to-do portal with a bunch of awesome features like email reminders, category tags, notes and more. Use Vikunja to get organized and back on track.

Think of Vikunja like the notebook you have with all your things to keep track of.

Vikunja Features

Stay Organized - Organize all of your tasks in lists. Put lists together in a namespace to keep related stuff grouped together.

Collaborate with peers - Vikunja lets you easily share a list or a namespace with another user or a whole team! You can also assign tasks to people so everybody knows who's working on what.

Use it how you need it - You can show your tasks in the classic list view - each task underneath each other. Or you can use the Gantt view to get a time overview. Or Table view to show all details you need. Or Kanban if you want that birds-eye view of the status of all current tasks.

0:00
/

Tasks - Tasks are not only simple tasks. You can let Vikunja remind you of tasks when they're due. Never miss an important deadline again!

Remember that thing you have to do every week but can't get the hang on? You can set tasks to repeat in a time interval, letting Vikunja remind you of important weekly or monthly tasks via e-mail.

Vikunja also lets you split a task in multiple subtasks for easy progress tracking and more satisfaction when crossing them off the list!

0:00
/

There are so many more features Vikunja offers so take a look and see!

Install Vikunja with Docker Compose

For detailed instructions, refer to the Vikunja Docker walk through.

version: '3'

services:
  db:
    image: mariadb:10
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: supersecret
      MYSQL_USER: vikunja
      MYSQL_PASSWORD: secret
      MYSQL_DATABASE: vikunja
    volumes:
      - ./db:/var/lib/mysql
    restart: unless-stopped
  api:
    image: vikunja/api
    environment:
      VIKUNJA_DATABASE_HOST: db
      VIKUNJA_DATABASE_PASSWORD: secret
      VIKUNJA_DATABASE_TYPE: mysql
      VIKUNJA_DATABASE_USER: vikunja
      VIKUNJA_DATABASE_DATABASE: vikunja
      VIKUNJA_SERVICE_JWTSECRET: <a super secure random secret>
      VIKUNJA_SERVICE_FRONTENDURL: https://<your public frontend url with slash>/
    ports:
      - 3456:3456
    volumes:
      - ./files:/app/vikunja/files
    depends_on:
      - db
    restart: unless-stopped
  frontend:
    image: vikunja/frontend
    ports:
      - 4321:80
    environment:
      VIKUNJA_API_URL: http://vikunja-api-domain.tld/api/v1
    restart: unless-stopped

To enable email reminders, you need to add the environment path to the Docker Compose. By default, many of the options are left out. As you can see, there are quite a few config options you can use, so be sure to go through them to see which you prefer.

Final Notes and Thoughts

Now that my life is organized again, I can get back to being more productive! I have used Vikunja to help me organize my thoughts about content ideas, remind me of upcoming birthdays and special events, and for things as simple as making a grocery list.