Hey there, creator of Vikunja here!
My intention for keeping both containers separate comes from the fact that the api and frontend live in independent repos and I see them as different, independent things. Because of that, I’m hesitating to put both the api and the frontend in one container. Also docker itself promotes separation of concerns therefore it makes sense to separate both containers.
Honestly I’m slightly astonished by people looking for Vikunja in a single docker container - I briefly expected people wanting a single installable binary, like Gitea does it. I figured everyone running docker containers on their server has a reverse proxy anyway so it wouldn’t be hard to proxy the Vikunja backend and frontend containers on separate paths under the same port.
I also provide full docker examples which are essentially “copy this
docker-compose.yml and run
docker-compose up -d and you’re good to go”, I assumed people would just use that and hoped it would make the setup less complicated.
For everything that’s not just “testing how it feels” (and just for that there is also the demo instance) you should run Vikunja with a proper database like mysql or postgres and at that point you’ll probably end up using docker compose anyway to configure everything in a more organized way.
Since this thread was originally started, I’ve added a setting to set the api url in the frontend which essentially eliminates the need for a reverse proxy (although it would look a lot nicer imho ).
All of that being said I’m open to the idea of providing a single docker container with the api and frontend bundled. I’m just not sure if it is the best way to solve this problem - I can also see the possibility of other non-docker installation wanting to benefit from a single installable “thing” to make the setup easier. Open to suggestions and discussions!
Please don’t hesitate to reach out if you’re having any issues, either via matrix or the forum.