From the top of my head, I don’t know about a db image which works well on arm64. But what about just using sqlite instead of a separate db service? You’re probably not using Vikunja with a lot of people running off a pi?
So I’ve retry with an sql8 and a mariadb10 images and I’m getting such error:
Migration failed: dial tcp 172.25.0.4:3306: connect: no route to host
This is the kind of docker-compose that I’m now using:
version: '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:
- ./db:/var/lib/mysql
restart: unless-stopped
api:
image: vikunja/api:0.21
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: --
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_API_SECRET: --
VIKUNJA_LOG_DATABASE: stdout
VIKUNJA_LOG_DATABASELEVEL: DEBUG
ports:
- 3456:3456
volumes:
- ./files:/app/vikunja/files
depends_on:
- db
restart: unless-stopped
frontend:
image: vikunja/frontend
ports:
- 22301:80
environment:
VIKUNJA_API_URL: http://192.168.1.168:3456/api/v1
restart: unless-stopped
It seems to be a network issue but I haven’t figured it out what it is yet. It seems very close to the kind of containers I’m finding in the docs
Does that ring any bell?
I should also probably try with sqlite directly as suggested, but I’m not sure how to do that. I need to look a bit more into that.
Anything in the logs of the db container? What happens if you wait a bit? The mariadb container sometimes takes a while to start.
Ok, I’ve finallly figured it out, and will write it here for future reference.
I though that I was running a 64-bit operating system since uname -m
returned aarch64
, but I then realized that dpkg --print-architecture
was returning armhf
.
On the other hand, the mariadb image platform was linux/arm64/v8
, incompatible with the linux/arm/v8
version of my docker engine.
That’s probably why I’ve struggled to find an image in the first place.
I’ve finally found this image that was working properly.
Also for reference, it didn’t work out of the box. I had to debug it a bit, with mainly the following:
- The log files were not compatible (?). I removed them (back-up first ofc). Reference
- I had to go inside the container to upgrade the database.
So I’m now back to normal, with my previous database and IDs.
Thanks a lot for your help, kolaente!