Vikunja
Vikunja is a self-hosted, open-source to-do list application to organize tasks, projects, and notes.
Configuration
version: "3.8"
services:
vikunja:
image: vikunja/vikunja
environment:
VIKUNJA_SERVICE_PUBLICURL: http://vikunja.local
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: ${VIKUNJA_DATABASE_PASSWORD}
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET}
expose:
- 3456
volumes:
- vikunja-files:/app/vikunja/files
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: postgres:17
environment:
POSTGRES_PASSWORD: ${VIKUNJA_DATABASE_PASSWORD}
POSTGRES_USER: vikunja
POSTGRES_DB: vikunja
volumes:
- vikunja-db:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
interval: 2s
start_period: 30s
volumes:
vikunja-files: {}
vikunja-db: {}[variables]
main_domain = "${domain}"
db_password = "${password:32}"
jwt_secret = "${jwt:db_password}"
[config]
[[config.domains]]
serviceName = "vikunja"
port = 3456
host = "${main_domain}"
[config.env]
VIKUNJA_SERVICE_PUBLICURL = "https://${main_domain}"
VIKUNJA_DATABASE_HOST = "db"
VIKUNJA_DATABASE_PASSWORD = "${db_password}"
VIKUNJA_DATABASE_TYPE = "postgres"
VIKUNJA_DATABASE_USER = "vikunja"
VIKUNJA_DATABASE_DATABASE = "vikunja"
VIKUNJA_SERVICE_JWTSECRET = "${jwt_secret}"
POSTGRES_PASSWORD = "${db_password}"
POSTGRES_USER = "vikunja"
POSTGRES_DB = "vikunja"
[[config.mounts]]
serviceName = "vikunja"
volumeName = "vikunja-files"
mountPath = "/app/vikunja/files"
[[config.mounts]]
serviceName = "db"
volumeName = "vikunja-db"
mountPath = "/var/lib/postgresql/data"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcblxuc2VydmljZXM6XG4gIHZpa3VuamE6XG4gICAgaW1hZ2U6IHZpa3VuamEvdmlrdW5qYVxuICAgIGVudmlyb25tZW50OlxuICAgICAgVklLVU5KQV9TRVJWSUNFX1BVQkxJQ1VSTDogaHR0cDovL3Zpa3VuamEubG9jYWxcbiAgICAgIFZJS1VOSkFfREFUQUJBU0VfSE9TVDogZGJcbiAgICAgIFZJS1VOSkFfREFUQUJBU0VfUEFTU1dPUkQ6ICR7VklLVU5KQV9EQVRBQkFTRV9QQVNTV09SRH1cbiAgICAgIFZJS1VOSkFfREFUQUJBU0VfVFlQRTogcG9zdGdyZXNcbiAgICAgIFZJS1VOSkFfREFUQUJBU0VfVVNFUjogdmlrdW5qYVxuICAgICAgVklLVU5KQV9EQVRBQkFTRV9EQVRBQkFTRTogdmlrdW5qYVxuICAgICAgVklLVU5KQV9TRVJWSUNFX0pXVFNFQ1JFVDogJHtWSUtVTkpBX1NFUlZJQ0VfSldUU0VDUkVUfVxuICAgIGV4cG9zZTpcbiAgICAgIC0gMzQ1NlxuICAgIHZvbHVtZXM6XG4gICAgICAtIHZpa3VuamEtZmlsZXM6L2FwcC92aWt1bmphL2ZpbGVzXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIGRiOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG5cbiAgZGI6XG4gICAgaW1hZ2U6IHBvc3RncmVzOjE3XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBQT1NUR1JFU19QQVNTV09SRDogJHtWSUtVTkpBX0RBVEFCQVNFX1BBU1NXT1JEfVxuICAgICAgUE9TVEdSRVNfVVNFUjogdmlrdW5qYVxuICAgICAgUE9TVEdSRVNfREI6IHZpa3VuamFcbiAgICB2b2x1bWVzOlxuICAgICAgLSB2aWt1bmphLWRiOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTUQtU0hFTExcIiwgXCJwZ19pc3JlYWR5IC1oIGxvY2FsaG9zdCAtVSAkJFBPU1RHUkVTX1VTRVJcIl1cbiAgICAgIGludGVydmFsOiAyc1xuICAgICAgc3RhcnRfcGVyaW9kOiAzMHNcblxudm9sdW1lczpcbiAgdmlrdW5qYS1maWxlczoge31cbiAgdmlrdW5qYS1kYjoge31cbiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxubWFpbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5kYl9wYXNzd29yZCA9IFwiJHtwYXNzd29yZDozMn1cIlxuand0X3NlY3JldCA9IFwiJHtqd3Q6ZGJfcGFzc3dvcmR9XCJcblxuW2NvbmZpZ11cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcInZpa3VuamFcIlxucG9ydCA9IDM0NTZcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcblxuW2NvbmZpZy5lbnZdXG5WSUtVTkpBX1NFUlZJQ0VfUFVCTElDVVJMID0gXCJodHRwczovLyR7bWFpbl9kb21haW59XCJcblZJS1VOSkFfREFUQUJBU0VfSE9TVCA9IFwiZGJcIlxuVklLVU5KQV9EQVRBQkFTRV9QQVNTV09SRCA9IFwiJHtkYl9wYXNzd29yZH1cIlxuVklLVU5KQV9EQVRBQkFTRV9UWVBFID0gXCJwb3N0Z3Jlc1wiXG5WSUtVTkpBX0RBVEFCQVNFX1VTRVIgPSBcInZpa3VuamFcIlxuVklLVU5KQV9EQVRBQkFTRV9EQVRBQkFTRSA9IFwidmlrdW5qYVwiXG5WSUtVTkpBX1NFUlZJQ0VfSldUU0VDUkVUID0gXCIke2p3dF9zZWNyZXR9XCJcblxuUE9TVEdSRVNfUEFTU1dPUkQgPSBcIiR7ZGJfcGFzc3dvcmR9XCJcblBPU1RHUkVTX1VTRVIgPSBcInZpa3VuamFcIlxuUE9TVEdSRVNfREIgPSBcInZpa3VuamFcIlxuXG5bW2NvbmZpZy5tb3VudHNdXVxuc2VydmljZU5hbWUgPSBcInZpa3VuamFcIlxudm9sdW1lTmFtZSA9IFwidmlrdW5qYS1maWxlc1wiXG5tb3VudFBhdGggPSBcIi9hcHAvdmlrdW5qYS9maWxlc1wiXG5cbltbY29uZmlnLm1vdW50c11dXG5zZXJ2aWNlTmFtZSA9IFwiZGJcIlxudm9sdW1lTmFtZSA9IFwidmlrdW5qYS1kYlwiXG5tb3VudFBhdGggPSBcIi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVwiXG4iCn0=Links
Tags
productivity, tasks, self-hosted, project-management
Version: 0.23.0