Vikunja not loading - blank page

Hello, I am starting to be desperate trying to get my vikunja up and running. I have tried installing it with docker-compose and Caddy on my Debian 12 server, but can’t seem to connect it all correctly. I ran out of options of how to solve it. I would appreciate any help!

This is my docker-compose file:
version: ‘3’

services:
db:
image: mariadb:10
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
container_name: vikunja-db
environment:
MYSQL_ROOT_PASSWORD: somepass
MYSQL_USER: vikunja
MYSQL_PASSWORD: xxx
MYSQL_DATABASE: vikunja
volumes:
- ./db:/var/lib/mysql
restart: unless-stopped
healthcheck:
test: [“CMD-SHELL”, “mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD”]
interval: 2s
start_period: 30s
vikunja:
image: vikunja/vikunja
container_name: vikunja
environment:
VIKUNJA_SERVICE_PUBLICURL: https://vikunja.mydomain.tld
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: xxx
VIKUNJA_DATABASE_TYPE: mysql
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: randomsecret
VIKUNJA_SERVICE_ENABLEREGISTRATION: 1
volumes:
- ./files:/app/vikunja/files
depends_on:
db:
condition: service_healthy
restart: unless-stopped
caddy:
container_name: caddy
image: caddy:2
volumes:
- /etc/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- /srv/caddy/:/data
- /etc/ssl/certs/fullchain.pem:/etc/ssl/certs/fullchain.pem:ro
- /etc/ssl/req/key.key:/etc/ssl/private/key.key:ro
ports:
- 80:80
- 443:443
restart: always
user: root:root

Here I honestly got very confused about whether to split frontend and api to two different services or create just one with vikunja image.

I have created this Caddyfile:
{
local_certs
}

{$DOMAIN}:443 {
log {
level INFO
output file {$LOG_FILE} {
roll_size 10MB
roll_keep 10
}
}

tls {$SSL_CERT_PATH} {$SSL_KEY_PATH}
encode gzip

header {
# Enable HTTP Strict Transport Security (HSTS)
Strict-Transport-Security “max-age=31536000;”
# Enable cross-site filter (XSS) and tell browser to block detected attacks
X-XSS-Protection “1; mode=block”
# Disallow the site to be rendered within a frame (clickjacking protection)
X-Frame-Options “SAMEORIGIN”
# Prevent search engines from indexing (optional)
X-Robots-Tag “none”
# Server name removing
-Server
}

/# Proxy everything to vikunja
reverse_proxy vikunja:3456

}

Everything on the server side looks like running without any error but when I try to access the webpage or run curl https://vikunja.mydomain.tld I have literally no response and only white blank page pops out. Also the server was created for vikunja specifically for now so it is registered with the name vikunja.domain.tld, is that a problem?

I am very new to all of this, learning as I go (tried to search as much as possible) so please be considerate and explanative with me:))

Thank you so much!
Eli

Hi!

Is there anything suspicious in the logs?

Is the request logged in the Vikunja container? Run docker compose logs -f vikunja and then access it via curl or the browser as you did before.

If not, that might indicate a problem with Caddy.

Hi kolaente!

Thank you so much for your prompt response and leading me to work with the logs for the entire docker. Apparently the problem was my lack of knowledge about docker and Caddy side issue:) All solved now and me and my team are ready to hop on using Vikunja.

Thanks for your work!
Eli

1 Like