Hi,
I’m new to Vikunja, and I’m trying to get it set up on Docker. I’m using BunkerWeb as my reverse proxy, based on Nginx. Here is my docker compose file:
version: '3'
services:
db:
image: mariadb:10
networks:
- vikunja_network
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: supersecret
MYSQL_USER: vikunja
MYSQL_PASSWORD: secret
MYSQL_DATABASE: vikunja
volumes:
- ./db:/var/lib/mysql
restart: unless-stopped
api:
image: vikunja/api
networks:
- vikunja_network
- services
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: secret
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: mypassword
VIKUNJA_SERVICE_FRONTENDURL: https://vikunja.mydomain.com/
volumes:
- ./files:/app/vikunja/files
depends_on:
- db
restart: unless-stopped
frontend:
image: vikunja/frontend
restart: unless-stopped
networks:
- vikunja_network
- services
labels:
- "bunkerweb.SERVER_NAME=vikunja.mydomain.com"
- "bunkerweb.ALLOWED_METHODS=GET|POST|HEAD|DELETE|PUT"
- "bunkerweb.REVERSE_PROXY_URL=/"
- "bunkerweb.REVERSE_PROXY_HOST=http://vikunja-frontend-1:80"
- "bunkerweb.REVERSE_PROXY_URL_1=^/(api|dav|[.]well[-]known)"
- "bunkerweb.REVERSE_PROXY_HOST_1=http://vikunja-api-1:3456"
- "bunkerweb.MAX_CLIENT_SIZE_1=20M"
- "bunkerweb.REVERSE_PROXY_WS=yes"
- "bunkerweb.REVERSE_PROXY_WS_1=yes"
networks:
vikunja_network:
name: vikunja
ipam:
driver: default
config:
- subnet: 172.22.0.0/24
services:
name: services
external: true
Note: BunkerWeb works through labels but is basically doing the same thing as Nginx.
The frontend can correctly be reached by going to vikunja.mydomain.com.
The problem I’m encountering is that I can’t reach the API, wether it is from the hosted frontend or from a desktop app. On the frontend, I have 2 different errors. Sometimes it is:
An error occurred:
TypeError: Cannot read properties of undefined (reading 'replace')
Veuillez vérifier que l'URL de l'API est valide.
Or it can be:
An error occurred:
TypeError: n.split(...)[1] is undefined
Veuillez vérifier que l'URL de l'API est valide.
I don’t see any error in the vikunja logs, neither in the api or the frontend container.
What could cause these errors ? Thanks in advance for any help or idea, don’t hesitate to ask if elements are missing to answer. Have a great day.