version: "3.8" # https://vikunja.io/docs/config-options # https://vikunja.io/docs/full-docker-example/ volumes: vikunja: name: ${VIKUNJA_VOLUME_NAME:-vikunja} services: vikunja: container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja} image: ${VIKUNJA_IMAGE:-vikunja/vikunja:0.23.0} restart: always environment: VIKUNJA_AUTH_LOCAL_ENABLED: ${VIKUNJA_AUTH_LOCAL_ENABLED:-true} VIKUNJA_AVATAR_GRAVATAREXPIRATION: ${VIKUNJA_AVATAR_GRAVATAREXPIRATION:-3600} VIKUNJA_BACKGROUNDS_ENABLED: ${VIKUNJA_BACKGROUNDS_ENABLED:-true} VIKUNJA_BACKGROUNDS_PROVIDERS_UPLOAD_ENABLED: ${VIKUNJA_BACKGROUNDS_PROVIDERS_UPLOAD_ENABLED:-true} VIKUNJA_CORS_ENABLE: ${VIKUNJA_CORS_ENABLE:-false} VIKUNJA_CORS_ORIGINS: ${VIKUNJA_CORS_ORIGINS} VIKUNJA_CORS_MAXAGE: ${VIKUNJA_CORS_MAXAGE:-0} VIKUNJA_DATABASE_PATH: ${VIKUNJA_DATABASE_PATH:-./vikunja.db} VIKUNJA_DEFAULTSETTINGS_AVATAR_PROVIDER: ${VIKUNJA_DEFAULTSETTINGS_AVATAR_PROVIDER:-initials} VIKUNJA_DEFAULTSETTINGS_AVATAR_FILE_ID: ${VIKUNJA_DEFAULTSETTINGS_AVATAR_FILE_ID:-0} VIKUNJA_DEFAULTSETTINGS_EMAIL_REMINDERS_ENABLED: ${VIKUNJA_DEFAULTSETTINGS_EMAIL_REMINDERS_ENABLED:-false} VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_NAME: ${VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_NAME:-false} VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_EMAIL: ${VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_EMAIL:-false} VIKUNJA_DEFAULTSETTINGS_OVERDUE_TASKS_REMINDERS_ENABLED: ${VIKUNJA_DEFAULTSETTINGS_OVERDUE_TASKS_REMINDERS_ENABLED:-true} VIKUNJA_DEFAULTSETTINGS_OVERDUE_TASKS_REMINDERS_TIME: ${VIKUNJA_DEFAULTSETTINGS_OVERDUE_TASKS_REMINDERS_TIME:-9:00} VIKUNJA_DEFAULTSETTINGS_DEFAULT_PROJECT_ID: ${VIKUNJA_DEFAULTSETTINGS_DEFAULT_PROJECT_ID:-0} VIKUNJA_DEFAULTSETTINGS_WEEK_START: ${VIKUNJA_DEFAULTSETTINGS_WEEK_START:-1} VIKUNJA_DEFAULTSETTINGS_LANGUAGE: ${VIKUNJA_DEFAULTSETTINGS_LANGUAGE:-fr-FR} VIKUNJA_DEFAULTSETTINGS_TIMEZONE: ${VIKUNJA_DEFAULTSETTINGS_TIMEZONE:-Europe/Paris} VIKUNJA_FILES_BASEPATH: ${VIKUNJA_FILES_BASEPATH:-./files} VIKUNJA_FILES_MAXSIZE: ${VIKUNJA_FILES_MAXSIZE:-20MB} VIKUNJA_KEYVALUE_TYPE: ${VIKUNJA_KEYVALUE_TYPE:-memory} # Can be either “memory” or “redis”. If “redis” is chosen it needs to be configured separately. VIKUNJA_LEGAL_IMPRINTURL: ${VIKUNJA_LEGAL_IMPRINTURL} VIKUNJA_LEGAL_PRIVACYURL: ${VIKUNJA_LEGAL_PRIVACYURL} # VIKUNJA_LOG_PATH VIKUNJA_LOG_ENABLED: ${VIKUNJA_LOG_ENABLED:-true} VIKUNJA_LOG_STANDARD: ${VIKUNJA_LOG_STANDARD:-stdout} VIKUNJA_LOG_LEVEL: ${VIKUNJA_LOG_LEVEL:-INFO} # Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG. VIKUNJA_LOG_DATABASE: ${VIKUNJA_LOG_DATABASE:-off} # Possible values are stdout, stderr, file or off to disable database VIKUNJA_LOG_DATABASELEVEL: ${VIKUNJA_LOG_DATABASELEVEL:-WARNING} # Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG VIKUNJA_LOG_HTTP: ${VIKUNJA_LOG_HTTP:-stdout} # Possible values are stdout, stderr, file or off to disable http logging. VIKUNJA_LOG_ECHO: ${VIKUNJA_LOG_ECHO:-off} # Possible values are stdout, stderr, file or off to disable standard logging. VIKUNJA_LOG_EVENTS: ${VIKUNJA_LOG_EVENTS:-off} # Possible values are stdout, stderr, file or off to disable events logging. VIKUNJA_LOG_EVENTSLEVEL: ${VIKUNJA_LOG_EVENTSLEVEL:-INFO} # Possible values (case-insensitive) are ERROR, INFO, DEBUG. VIKUNJA_LOG_MAIL: ${VIKUNJA_LOG_MAIL:-off} # Possible values are stdout, stderr, file or off to disable mail-related logging. VIKUNJA_LOG_MAILLEVEL: ${VIKUNJA_LOG_MAILLEVEL:-info} # Possible values (case-insensitive) are ERROR, WARNING, INFO, DEBUG. VIKUNJA_RATELIMIT_ENABLED: ${VIKUNJA_RATELIMIT_ENABLED:-false} VIKUNJA_RATELIMIT_KIND: ${VIKUNJA_RATELIMIT_KIND:-user} # Can be either “user” for a rate limit per user or “ip” for an ip-based rate limit. VIKUNJA_RATELIMIT_PERIOD: ${VIKUNJA_RATELIMIT_PERIOD:-60} VIKUNJA_RATELIMIT_LIMIT: ${VIKUNJA_RATELIMIT_LIMIT:-100} VIKUNJA_RATELIMIT_STORE: ${VIKUNJA_RATELIMIT_STORE:-keyvalue} # Possible values are “keyvalue”, “memory” or “redis”. When choosing “keyvalue” this setting follows the one configured in the “keyvalue” section. VIKUNJA_RATELIMIT_NOAUTHLIMIT: ${VIKUNJA_RATELIMIT_NOAUTHLIMIT:-10} VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET} VIKUNJA_SERVICE_JWTTTL: ${VIKUNJA_SERVICE_JWTTTL:-259200} VIKUNJA_SERVICE_JWTTTLLONG: ${VIKUNJA_SERVICE_JWTTTLLONG:-2592000} VIKUNJA_SERVICE_INTERFACE: ${VIKUNJA_SERVICE_INTERFACE:-3456} VIKUNJA_SERVICE_UNIXSOCKET: ${VIKUNJA_SERVICE_UNIXSOCKET} VIKUNJA_SERVICE_UNIXSOCKETMODE: ${VIKUNJA_SERVICE_UNIXSOCKETMODE} VIKUNJA_SERVICE_PUBLICURL: ${VIKUNJA_SERVICE_PUBLICURL:?err} VIKUNJA_SERVICE_ROOTPATH: ${VIKUNJA_SERVICE_ROOTPATH:-/app/vikunja/} VIKUNJA_SERVICE_MAXITEMSPERPAGE: ${VIKUNJA_SERVICE_MAXITEMSPERPAGE:-50} VIKUNJA_SERVICE_ENABLECALDAV: ${VIKUNJA_SERVICE_ENABLECALDAV:-true} VIKUNJA_SERVICE_MOTD: ${VIKUNJA_SERVICE_MOTD} VIKUNJA_SERVICE_ENABLELINKSHARING: ${VIKUNJA_SERVICE_ENABLELINKSHARING:-true} VIKUNJA_SERVICE_ENABLEREGISTRATION: ${VIKUNJA_SERVICE_ENABLEREGISTRATION:-true} VIKUNJA_SERVICE_ENABLETASKATTACHMENTS: ${VIKUNJA_SERVICE_ENABLETASKATTACHMENTS:-true} VIKUNJA_SERVICE_TIMEZONE: ${VIKUNJA_SERVICE_TIMEZONE:-Europe/Paris} VIKUNJA_SERVICE_ENABLETASKCOMMENTS: ${VIKUNJA_SERVICE_ENABLETASKCOMMENTS:-true} VIKUNJA_SERVICE_ENABLETOTP: ${VIKUNJA_SERVICE_ENABLETOTP:-true} VIKUNJA_SERVICE_TESTINGTOKEN: ${VIKUNJA_SERVICE_TESTINGTOKEN} VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: ${VIKUNJA_SERVICE_ENABLEEMAILREMINDERS:-true} VIKUNJA_SERVICE_ENABLEUSERDELETION: ${VIKUNJA_SERVICE_ENABLEUSERDELETION:-true} VIKUNJA_SERVICE_MAXAVATARSIZE: ${VIKUNJA_SERVICE_MAXAVATARSIZE:-512} VIKUNJA_SERVICE_DEMOMODE: ${VIKUNJA_SERVICE_DEMOMODE:-false} VIKUNJA_SERVICE_ALLOWICONCHANGES: ${VIKUNJA_SERVICE_ALLOWICONCHANGES:-true} VIKUNJA_SERVICE_CUSTOMLOGOURL: ${VIKUNJA_SERVICE_CUSTOMLOGOURL} VIKUNJA_WEBHOOKS_ENABLED: ${VIKUNJA_WEBHOOKS_ENABLED:-true} VIKUNJA_WEBHOOKS_TIMOUTSECONDS: ${VIKUNJA_WEBHOOKS_TIMOUTSECONDS:-30} VIKUNJA_WEBHOOKS_PROXYURL: ${VIKUNJA_WEBHOOKS_PROXYURL} VIKUNJA_WEBHOOKS_PROXYPASSWORD: ${VIKUNJA_WEBHOOKS_PROXYPASSWORD} PUID: ${VIKUNJA_PUID:-1000} PGID: ${VIKUNJA_PGID:-1000} volumes: - vikunja:${VIKUNJA_VOLUME_PATH:-/app/vikunja/files} - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro