Hi all,
Having some issues getting the api container to deploy. For some reason it’s failing to recognize any database type except sqlite, which I’d prefer not to use.
Here’s my docker compose file, and my redacted environment variables.
version: '3'
networks:
traefik:
external: true
services:
vikunja:
image: vikunja/frontend:${VIKUNJA_DOCKER_TAG:-latest}
container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}
networks:
- traefik
environment:
- VIKUNJA_API_URL=http://${VIKUNJA_API_CONTAINER_NAME:-vikunja-api}:3456/api/v1
restart: ${VIKUNJA_RESTART:-unless-stopped}
labels:
- joyride.host.name=${VIKUNJA_CONTAINER_NAME:-vikunja}.${HOST_DOMAIN}
- traefik.enable=true
- traefik.http.routers.vikunja.entrypoints=websecure
- traefik.http.routers.vikunja.rule=Host(`${VIKUNJA_CONTAINER_NAME:-vikunja}.${HOST_DOMAIN}`)
- traefik.http.services.vikunja.loadbalancer.server.port=80
- com.centurylinklabs.watchtower.enable=true
- autoheal=true
# Flame dashboard labels
- flame.type=application
- flame.name=${VIKUNJA_FLAME_NAME:-vikunja}
- flame.url=https://${VIKUNJA_CONTAINER_NAME:-vikunja}.${HOST_DOMAIN}
- flame.icon=${VIKUNJA_FLAME_ICON:-docker}
api:
image: vikunja/api:${VIKUNJA_DOCKER_TAG:-latest}
container_name: ${VIKUNJA_API_CONTAINER_NAME:-vikunja-api}
restart: ${VIKUNJA_RESTART:-unless-stopped}
networks:
- traefik
volumes:
- ./etc/vikunja/files:/config
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- db
environment:
- VIKUNJA_DATABASE_HOST= ${VIKUNJA_DATABASE_HOST:-vikunja-mysql}
- VIKUNA_DATABASE_PASSWORD=${VIKUNJA_DATABASE_PASSWORD:-secret}
- VIKUNJA_DATABASE_TYPE=${VIKUNJA_DATABASE_TYPE:-mysql}
- VIKUNJA_DATABASE_USER=${VIKUNJA_DATABASE_USER:-vikunja}
- VIKUNJA_DATABASE_DATABASE=${VIKUNJA_DATABASE_DATABASE:-vikunja}
- VIKUNJA_SERVICE_JWTSECRET= ${VIKUNJA_SERVICE_JWTSECRET:-<a super secure random secret>}
- VIKUNJA_SERVICE_FRONTENDURL=${VIKUNJA_SERVICE_FRONTENDURL:-http://<your public frontend url with slash>/}
db:
image: mariadb:10
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
container_name: ${VIKUNJA_DATABASE_CONTAINER_NAME:-vikunja-mysql}
environment:
- MYSQL_ROOT_PASSWORD= ${VIKUNJA_ROOT_password:-supersecret}
- MYSQL_USER= ${VIKUNJA_DATABASE_USER:-vikunja}
- MYSQL_PASSWORD= ${VIKUNJA_DATABASE_PASSWORD:-secret}
- MYSQL_DATABASE= ${VIKUNJA_DATABASE:-vikunja}
- MYSQL_PASSWORD=${VIKUNJA_POSTGRES_PASSWORD:-secret}
- MYSQL_USER=${VIKUNJA_POSTGRES_USER:-vikunja}
- MYSQL_DATABASE=${VIKUNJA_DATABASE_DATABASE:-vikunja}
networks:
- traefik
volumes:
- ./etc/vikunja/db:/var/lib/mysql/data
restart: ${VIKUNJA_RESTART:-unless-stopped}
Environment variables:
VIKUNJA_CONTAINER_NAME=vikunja
VIKUNJA_API_CONTAINER_NAME=vikunja-api
VIKUNJA_DATABASE_HOST=vikunja-mysql
VIKUNJA_DATABASE_TYPE=mysql
VIKUNJA_MYSQL_ROOT_PASSWORD= supersecret
VIKUNJA_DATABASE_USER= vikunja
VIKUNJA_DATABASE_PASSWORD= secret
VIKUNJA_DATABASE= vikunja
VIKUNJA_SERVICE_JWTSECRET=jwtsecret
VIKUNJA_SERVICE_FRONTENDURL=https://${VIKUNJA_CONTAINER_NAME:-vikunja}.${HOST_DOMAIN}/
VIKUNJA_API_URL=http://${VIKUNJA_API_CONTAINER_NAME:-vikunja-api}:3456/api/v1
This is what’s showing in the API container logs.
2023/12/06 00:05:24 No config file found, using default or config from environment variables.
2023-12-06T00:05:24.390190537-05:00: CRITICAL ▶ db/CreateDBEngine 001 Unknown database type mysql
Any suggestions?