I’ve seen a few other posts with a similar issue, but all have different solutions and none worked for me.
I first tried using the default Traefik2 docker-compose and kept getting the api instance rebooting and the db rejecting the connection with the following error:
[Warning] Access denied for user 'vikunja'@'[dockerIP]' (using password: YES)
I have now tried changing to postgres13 and get a similar error.
2023/03/05 23:58:15 No config file found, using default or config from environment variables.
2023-03-05T23:58:15.94076388Z: CRITICAL ▶ migration/Migrate 002 Migration failed: dial tcp 172.29.244.8:3306: connect: connection refused
This is from the API log. No errors coming from the DB log.
Current compose below:
vikunja-api:
container_name: vikunja-api
image: vikunja/api
environment:
VIKUNJA_DATABASE_HOST: vikunja-db
VIKUNJA_DATABASE_PASSWORD: pass
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: supersecret
VIKUNJA_SERVICE_FRONTENDURL: https://vikunja.$DOMAIN/
volumes:
- $DOCKERDIR/vikunja/files:/app/vikunja/files
networks:
- t1_proxy
- default
depends_on:
- vikunja-db
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja-api.rule=Host(`vikunja.$DOMAIN`) && (PathPrefix(`/api/v1`) || PathPrefix(`/dav/`) || PathPrefix(`/.well-known/`))"
- "traefik.http.routers.vikunja-api.entrypoints=websecure"
- "traefik.http.routers.vikunja-api.tls.certResolver=letsencrypt"
- traefik.http.routers.vikunja-api.middlewares=chain-oauth@file
vikunja-frontend:
container_name: vikunja-frontend
image: vikunja/frontend
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja-frontend.rule=Host(`vikunja.$DOMAIN`)"
- "traefik.http.routers.vikunja-frontend.entrypoints=websecure"
- "traefik.http.routers.vikunja-frontend.tls.certResolver=letsencrypt"
- traefik.http.routers.vikunja-frontend.middlewares=chain-oauth@file
networks:
- t1_proxy
- default
restart: unless-stopped
vikunja-db:
container_name: vikunja-db
image: postgres:13
environment:
POSTGRES_PASSWORD: pass
POSTGRES_USER: vikunja
volumes:
- $DOCKERDIR/vikunja/db:/var/lib/postgresql/data
restart: unless-stopped