To-do list-builders and note-taking apps provide an effective way to jot down your ideas and keep track of your essential tasks. However, many of the popular solutions require paid subscriptions to unlock the full set of features. With your notes stored on external servers, you’ll have to contend with the lack of privacy as well.
Thankfully, you could self-host your own to-do list-building servers to record, manage, and sync your ideas across different devices. Vikunja remains a solid self-hosted note-taking app to organize your tasks, and here’s a quick article to help you get it running on your home lab.
5 reasons you should be using containers in your home lab (if you aren't already)
Name a better duo than containers and self-hosting workloads
What’s Vikunja anyway?
And why should you use it?
Rather than providing a full-on PKM system consisting of mermaid diagrams, mind maps, coding provisions, and other facilities, Vikunja is more concerned with helping you create to-do lists and track your tasks like a pro. It’s fairly lightweight and can run on practically any device – including Raspberry Pi SBCs – while its beginner-friendly UI is loaded with useful facilities.
For instance, you can invite multiple team members to collaborate on a task, making Vikunja a solid alternative to expensive workspace tools. Likewise, you can switch between tables, lists, Gantt charts, and Kanban boards to stay on top of your projects. You can also set up relations between tasks, create sub-projects for larger ideas, and import projects from other to-do list apps.
Setting up a Vikunja instance
Depending on your specific OS, there are a couple of ways to deploy your Vikunja server. There’s the Proxmox VE-Helper Scripts repository, which provides a straightforward method to deploy a Vikunja LXC if you’re on Proxmox.
- Select your favorite node on the Proxmox web UI and switch to its Shell tab.
-
Paste this command into the terminal interface:
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/vikunja.sh)"
- Tap Enter when Proxmox prompts you to create a new LXC container.
- If you don’t wish to upload diagnostics of your server, feel free to hit No.
- Choose Default Settings and wait for Proxmox to finish installing the Vikunja instance.
- You can use the IP address displayed at the bottom of the terminal to access the Vikunja web UI.
For non-Proxmox users, you can configure a Vikunja container inside a Linux system (or even a virtual machine). Assuming you’ve already set up Docker Engine beforehand,
- Open the terminal app bundled with your Linux distro.
-
Use the mkdir command to create the files and db directories.
mkdir $PWD/files $PWD/db
-
Execute chown to grant ownership rights of the folders to your user.
chown 1000 $PWD/files $PWD/db
-
Use the docker run command to get the Vikunja server up and running.
docker run -p 3456:3456 -v $PWD/files:/app/vikunja/files -v $PWD/db:/db vikunja/vikunja
- To access the web UI, enter http://localhost:3456 into your favorite browser. Alternatively, you can access the Vikunja web UI from any other device on your network by replacing the localhost string with the IP address of the virtual machine/PC running the Vikunja container.
Meanwhile, certain distros like UmbrelOS, YunoHost, and TrueNAS include Vikunja in their app stores, providing an easy way to add the tool to your self-hosting repertoire.
Configuring the Vikunja web UI
Regardless of the method you’ve used when deploying the Vikunja server, you’ll need to create a local account inside the web UI.
- When Vikunja prompts for your login details, click on the Create account button.
- Enter a Username, Email address, and Password before tapping Create account once again.
Once you’ve created the account, Vikunja's Overview tab should appear, and you’re free to start tinkering with the tool. Although Vikunja’s UI is easy to work with even for complete beginners, here are some tips to help you get started.
- Inside the Overview tab, you can enter the Name of a task and tap the Add button to make it visible in your to-do list.
- Clicking on each task will reveal the Description and Comments fields alongside a host of options on the right side of the screen. You can play around with these options to add more details to your project tasks and assignments.
- If you wish to organize your tasks, you can create labels using the tab with the same name. Labels are akin to the tags field you'd use to organize your notes inside conventional PKM systems.
- Meanwhile, the Teams tab lets you invite more users to your Vikunja projects. You can also use it to grant extra privileges to your team members.
- Finally, there’s the Inbox section, where you can switch between Lists, Gantt, Table, and Kanban views.
Staying on top of your projects with Vikunja
With that, you should be ready to use Vikunja as your to-do list creation and note-taking companion. If you want to switch from Notion, Monday, Airtable, or other task management platforms to a self-hosted app, Vikunja is a simple yet effective alternative.
But once your ideation and project-building team starts growing, you might want to look into the more feature-laden NocoDB server. Alternatively, TriliumNext Notes is the better option for home labbers who require a hardcore personal knowledge management server for their note-taking needs.
Should you use Kubernetes in your home lab?
If you like tinkering with containers or want some invaluable learning experience, Kubernetes will be a worthy addition to your experimentation server
