I recently stumbled upon Vikunja.io I love how you can easily switch between a classic list view, Kanban and Gantt. It supports multiple users and teams, importing from other todo apps and can sync through Caldav. The android app is in early development but looks promising. Oh, and is has a desktop app.
As u/lighthawk16 already pointed out, this is a to-do planner tool. You can add files to tasks but that's all of the similarity to nextcloud. In comparison with the decks app, you can do all it can do and more things with Vikunja. For example, better sharing features, list and gantt views, reminders. Check out the features page for the full list of features.
I tried using TW Todolist which works nicely.
But eventually i moved to a dedicated app: Vikunja which does all the things i need.
Combining todos and notes in TW just didn't work out for me. Better have one tool for every task and slam a dashboard like Homer in front of it.
No, but docker is the easiest.
For a "classic" install, you need to manually install the api binary and need some web server to host the frontend files.
On their site, their not saying anything about releasing an app for iPhone.
But right now, it also isn't out for android yet, they say the app is in alpha state and recommend you use the PWA.
Check out https://vikunja.io/.
Not sure about a native app but you can use it as a progressive web app no problem :). Look up progressive web apps if you don't know what they are
Any os that has chrome will be able to use it.
Do you have a nginx.conf
in the root directory of your vikunja installation (should be the same directory where the docker-compose.yml
file resides)?
For working with reverse proxy, vikunja needs some additional configurations - https://vikunja.io/docs/full-docker-example/
I basically followed the official docs (https://vikunja.io/docs/docker-walkthrough/) to get mine working. The dev is very responsive, so you might also find some solutions on the Vikunja forum. What kind of errors are you running into?
One potential problem I can foresee is that some packages might not be available for 32-bit Raspberry Pi OS (I am running the 64-bit beta release).
I can also share my docker-compose.yml file if you'd find it helpful.
Depending on whether your caddy runs in another container or on the host outside of docker, you should be able to take the caddy example and adjust the hostnames of the frontend and api container.
Copy the compose stack they show here https://vikunja.io/docs/docker-walkthrough/#create-all-necessary-files
Use this one. Then just pop it into a docker-compose.yml, cd into the directory and just run docker-compose up -d. Done. Nginx is just the webserver, not the acting proxy server.
I am using Vikunja for a longer time now and can definetly recommend it. Its server is written in go and has various frontends: Web-based, desktop app, android app. To be honest, the latter currently isn't available through the stores, but the apk can be downloaded via their website. However, the web-frontend is well optimized for mobile devices thought :)
Hey there, creator of Vikunja here!
While I don't have much experience with synology, I certainly have with Vikunja :)
I've recently added an option to set the api url in the frontend directly which essentially eliminiates the need for a reverse proxy. Docs.
What DB are you using? Do you get any errors in the logs?
You can put it in a subfolder but you'll need to adjust the api url on the frontend container to enable the frontend to find the api and make requests to it.
I'm not sure. I used the compose yaml example and it had an error:
ERROR: for jack_proxy_1 Cannot start service proxy: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/home/jack/nginx.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/9c8b8f9419c29dad0d1233fbb0a3c36cf403dabd7a55d6f0a47b0c1dd6029994/merged\\\" at \\\"/var/lib/docker/overlay2/9c8b8f9419c29dad0d1233fbb0a3c36cf403dabd7a55d6f0a47b0c1dd6029994/merged/etc/nginx/conf.d/default.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
what exactly is going wrong? are you getting a specific error? Have you setup docker compose correctly?
On the installing page it says:
>While the backend is required, the frontend is not. You don’t neccesarily need to have a web-frontend, using Vikunja via the mobile app is totally fine.
So if you got the backend setup can you connect to it from the app?
The problems of the frontend and backend connecting are probably a network issue. Verify you configured the docker's networks correctly
For docker you want to use environment variables, as described in the docs. If you don't specify any config variables, the defaults are used.
> looks like really great project~!
Thanks!
It's still really really early in the development cycle and mobile apps are in an alpha stage, but the web app is really solid. I'm selfhosting vikunja. You can try the demo site
Hi, according to this -> https://vikunja.io/docs/install-backend/#debian-packages I should find a debian package in the downloads page, but I can't see any. Could you help me?
Yes, the frontend tries to access the backend on /api/
on whatever domain it is hosted itself by default. Have you tried using this configuration and adopting it for caddy? My caddy knowledge is very limited, but I'm pretty sure it lets you route traffic to different containers based on url paths. You would need to set it up so that all traffic goes to the frontend container except requests to routes starting with /api
, these would need to go to the api container.
You could also try to use the compose setup with nginx at the bottom of the page I linked, but imho it may be a bit overkill since you're already using caddy as a proxy.
Huh that should not be the case. The privacy policy for the home page is at https://vikunja.io/privacy/. As Vikunja is intended to be self-hosted, it does not have a privacy policy by default. The hosted instance on try.vikunja.io is only a demo version which gets cleared in irregular intervals. I'll add options for links to these pages soon, but when hosting it is usually the responsibility from the hoster.
It should be as it only a bundle of static files you need to throw on a server somewhere.
In the end, it depends on the cdn you're intending to use.
You've peaked my interest, may I ask what your use case is?
You can run it with sqlite, take a look at the database
section here.
We have swagger for documentation for the api with each instance at /api/v1/docs
, for example here.
Dark theme is on the roadmap :D
I've been a wunderlist user myself for a really long time, but always wanted to self host it. Couldn't find something that fit all my needs, so I've decided to build my own thing. And with the recent news of wunderlist shutting down, the deadline for the migrator was clear.
It should work on a sub path. You can basically take the traefik config, remove the labels and then expose the container ports locally on the server and then create a vhost which routes all traffic to the frontend container, except requests to /api
, these should go to the api container.
Something like this:
version: '3'
services:
api:
image: vikunja/api
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: supersecret
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
volumes:
- ./files:/app/vikunja/files
depends_on:
- db
restart: unless-stopped
ports:
- 127.0.0.1:3457:80
frontend:
image: vikunja/frontend
restart: unless-stopped
ports:
- 127.0.0.1:3456:3456
db:
image: mariadb:10
environment:
MYSQL_ROOT_PASSWORD: supersupersecret
MYSQL_USER: vikunja
MYSQL_PASSWORD: supersecret
MYSQL_DATABASE: vikunja
volumes:
- ./db:/var/lib/mysql
restart: unless-stopped
command: --max-connections=1000
This would expose the frontend container on the host on port 3457
and the api container on the host on port 3456
.
Maybe you can use this apache config as a starting point, my knowledge of apache is not the best. (That config assumes a non-docker setup with the frontend assets in a folder on the host which should also be possible with docker)
You should be able to use this config to host it on the same port in your config. That config will start an nginx container which routes frontend and api request to the appropriate containers. If you have services running with docker, I assume you already have some kind of reverse proxy in front of the whole server config, maybe you could also leave out the nginx container and use that directly instead. What is you existing setup? Or do you just want to play around?
EDIT: A little Background: The frontend and backend are fully independent from each other, they live in different repos and are built with different stacks. Therefore, they are different deployables.