Wrong credentials after updating images

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 :thinking:
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!