Hello.
I’m a selfhosting enthusiast and I’ve been using vikunja for a while and I love it. I’m still surprised I managed to learn a bit of selfhosting as I’m not really educated when it comes to computers and linux.
Though, I’ve seen the recent changes to the compose file, and not being a native English speaker, I struggle wrapping my head around it.
Worse, I really fear loosing my data and not being able to restore it.
Here is my previous working docker-compose. What must I change to upgrade ?
version: '3.3'
services:
db:
image: mariadb:10
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: **********
MYSQL_USER: vikunja
MYSQL_PASSWORD: **********
MYSQL_DATABASE: vikunja
volumes:
- /srv/Files/Vikunja/Vikunjadb:/var/lib/mysql
restart: unless-stopped
api:
image: vikunja/api #should be vikunja/vikunja, That I understood
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: **********
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_FRONTENDURL: http://machineip:9990
VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: 1
VIKUNJA_MAILER_ENABLED: 1
VIKUNJA_MAILER_FORCESSL: 1
VIKUNJA_MAILER_HOST: ssl0.ovh.net
VIKUNJA_MAILER_PORT: 465
VIKUNJA_MAILER_USERNAME: email
VIKUNJA_MAILER_FROMEMAIL: email
VIKUNJA_MAILER_PASSWORD: **********
VIKUNJA_SERVICE_TIMEZONE: Europe/Paris
VIKUNJA_SERVICE_ENABLEREGISTRATION: false
ports:
- 3456:3456
volumes:
- /srv/Files/Vikunja/files:/app/vikunja/files
depends_on:
- db
restart: unless-stopped
frontend:
image: vikunja/frontend
ports:
- 9990:80
environment:
VIKUNJA_API_URL: http://machineip:3456/api/v1
restart: unless-stopped
Any help would be greatly appreciated.
Thank you
Glad you’re learning something!
Quoting the release blog post:
- Replace the
vikunja/api
docker image with vikunja/vikunja
.
- Remove the frontend docker container, migrating any config from it (see below).
- Set the new public URL config (see below).
Adding to this, for your specific setup, you need to modify the VIKUNJA_SERVICE_FRONTENDURL
on your Vikunja container to VIKUNJA_SERVICE_PUBLICURL=http://machineip:3456
.
The first step to this should be making a backup. Check out the docs about that: What to backup | Vikunja
Then, if anything goes wrong during the upgrade, you can just roll back.
(also don’t worry about your English skills, they are very much fine! Most of us here (me included) are not native English speakers)
1 Like
Thank you so much for your help and encouragement.
I think I was overthinking all this. It was very simple.
For anyone in my position, here is my docker-compose after modification:
version: '3.3'
services:
db:
image: mariadb:10
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: **********
MYSQL_USER: vikunja
MYSQL_PASSWORD: **********
MYSQL_DATABASE: vikunja
volumes:
- /srv/Files/Vikunja/Vikunjadb:/var/lib/mysql
restart: unless-stopped
vikunja:
image: vikunja/vikunja
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: **********
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_PUBLICURL: http://machineip:3456
VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: 1
VIKUNJA_MAILER_ENABLED: 1
VIKUNJA_MAILER_FORCESSL: 1
VIKUNJA_MAILER_HOST: ssl0.ovh.net
VIKUNJA_MAILER_PORT: 465
VIKUNJA_MAILER_USERNAME: email
VIKUNJA_MAILER_FROMEMAIL: email
VIKUNJA_MAILER_PASSWORD: **********
VIKUNJA_SERVICE_TIMEZONE: Europe/Paris
VIKUNJA_SERVICE_ENABLEREGISTRATION: false
ports:
- 3456:3456
volumes:
- /srv/Files/Vikunja/files:/app/vikunja/files
depends_on:
- db
restart: unless-stopped
Thanks a lot for your help and your work 
1 Like
I use dockge for docker compose deployments. It has a handy upgrade button which automatically pulls the latest versions of all containers. Definitely recommended in general, not just for Vikunja.
I know a bit about docker but it’s not something I do every day, so any tool that makes it easier is very welcome.