Install docker

See computers.setup.docker-install

Docker Compose

NOTE: Remove the line VIKUNJA_SERVICE_ENABLEREGISTRATION: 0 when setting up Vikunja. Add it when everything is up and running, new users have been created, and no new users need to be created.

 1version: '3'
 2
 3services:
 4  api:
 5    image: vikunja/api:unstable
 6    container_name: vikunja_api
 7    environment:
 8      VIKUNJA_DATABASE_TYPE: sqlite
 9      VIKUNJA_DATABASE_PATH: /storage/vikunja.db
10      VIKUNJA_DATABASE_DATABASE: vikunja
11      PUID: 1000
12      PGID: 1000
13      VIKUNJA_SERVICE_ENABLEREGISTRATION: 0
14#    ports:
15#      - 3456:3456
16    volumes:
17      - ./storage:/storage
18    restart: unless-stopped
19    networks:
20      - vikunja-npm
21  frontend:
22    image: vikunja/frontend:unstable
23    container_name: vikunja
24#    ports:
25#      - 8061:80
26    environment:
27      VIKUNJA_API_URL: https://todos.seapost.org/api/v1
28    restart: unless-stopped
29    networks:
30      - vikunja-npm
31networks:
32  vikunja-npm:

Configure Nginx Proxy Manager

Main setup is computers.setup.self-hosted.npm-docker

Open the NPU UI and add a new proxy host

 1Domain Names: todos.sagar.se
 2Scheme: http
 3Forward Hostname/IP: vikunja
 4Forward Port: 80
 5
 6Block common exploits: Yes
 7
 8Tab SSL/
 9SSL Certificate: todos.seapost.org
10Force SSL yes
11HTTP/2 Support yes
12
13Tab Advanced/
14location ~* ^/(api|dav|\.well-known)/ {
15        proxy_pass http://vikunja_api:3456;
16        client_max_body_size 20M;
17    }

Edit npm/docker-compose.yaml and add vikunja_vikunja-npm to the networks like so

1    networks:
2      - vikunja_vikunja-npm
3networks:
4    vikunja_vikunja-npm:
5      external: true

Would likely need to do a docker-compose down before editing the npm/docker-compose.yaml file above, followed by docker-compose up -d after the editing is done.

NOTE: Vikunja will need to be started before NPM is started, else NPM will not find the external vikunja_vikunja-npm network

Reference: