Compare commits

...

2 Commits

12 changed files with 99 additions and 79 deletions

View File

@ -5,6 +5,7 @@ version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME}
external: true
services:
drone-server:

View File

@ -9,13 +9,12 @@ COMPOSE_FILE=${SERVICES_DIR}/vikunja/docker-compose.yml:${SERVICES_DIR}/vikunja/
## APP
#VIKUNJA_API_IMAGE=
#VIKUNJA_FRONTEND_IMAGE=
#VIKUNJA_IMAGE=
VIKUNJA_CONTAINER_NAME=vikunja
VIKUNJA_VOLUME_NAME=vikunja
VIKUNJA_DOMAIN=vikunja.example.org
VIKUNJA_SERVICE_FRONTENDURL=https://vikunja.example.org/
VIKUNJA_SERVICE_PUBLICURL=https://vikunja.example.org/
VIKUNJA_SERVICE_JWTSECRET=change-me
#VIKUNJA_SERVICE_JWTTTL=259200

View File

@ -3,17 +3,22 @@ version: "3.8"
# https://vikunja.io/docs/config-options/#database
services:
vikunja_api:
vikunja:
depends_on:
- postgres
environment:
VIKUNJA_DATABASE_TYPE: ${VIKUNJA_DATABASE_TYPE:-postgres}
VIKUNJA_DATABASE_USER: ${POSTGRES_USER:?err}
VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?err}
VIKUNJA_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}:5432 # Default name is same as ../postgres/docker-compose.yml:8
VIKUNJA_DATABASE_DATABASE: ${POSTGRES_DB:?err}
VIKUNJA_DATABASE_MAXOPENCONNECTIONS: ${VIKUNJA_DATABASE_MAXOPENCONNECTIONS:-100}
VIKUNJA_DATABASE_MAXIDLECONNECTIONS: ${VIKUNJA_DATABASE_MAXIDLECONNECTIONS:-50}
VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME: ${VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME:-10000}
VIKUNJA_DATABASE_SSLMODE: ${VIKUNJA_DATABASE_SSLMODE:-disable}
VIKUNJA_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}:5432 # Default name is same as ../postgres/docker-compose.yml:8
VIKUNJA_DATABASE_DATABASE: ${POSTGRES_DB:?err}
VIKUNJA_DATABASE_USER: ${POSTGRES_USER:?err}
VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?err}
VIKUNJA_DATABASE_SSLCERT: ${VIKUNJA_DATABASE_SSLCERT}
VIKUNJA_DATABASE_SSLKEY: ${VIKUNJA_DATABASE_SSLKEY}
VIKUNJA_DATABASE_SSLROOTCERT: ${VIKUNJA_DATABASE_SSLROOTCERT}
VIKUNJA_DATABASE_TLS: ${VIKUNJA_DATABASE_TLS:-false}

View File

@ -1,9 +0,0 @@
---
version: "3.8"
services:
vikunja_api:
environment:
VIKUNJA_LEGAL_IMPRINTURL: ${VIKUNJA_LEGAL_IMPRINTURL}
VIKUNJA_LEGAL_PRIVACYURL: ${VIKUNJA_LEGAL_PRIVACYURL}

View File

@ -1,11 +1,6 @@
version: "3.8"
services:
vikunja_api:
vikunja:
ports:
- 3456:3456
vikunja_frontend:
ports:
- ${LOCAL_PORT:-80}:80
environment:
VIKUNJA_API_URL: http://localhost:3456/api/v1

View File

@ -1,17 +0,0 @@
version: "3.8"
# https://vikunja.io/docs/config-options/#log
services:
vikunja_api:
environment:
# 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:-stdout} # 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.

View File

@ -3,7 +3,7 @@ version: "3.8"
# https://vikunja.io/docs/config-options/#metrics
services:
vikunja_api:
vikunja:
environment:
VIKUNJA_METRICS_ENABLED: ${VIKUNJA_METRICS_ENABLED-:false}
VIKUNJA_METRICS_USERNAME: ${VIKUNJA_METRICS_USERNAME}

View File

@ -3,14 +3,11 @@ version: "3.8"
# https://vikunja.io/docs/config-options/#redis
services:
vikunja_api:
vikunja:
depends_on:
- redis
environment:
VIKUNJA_CACHE_ENABLED: 'true'
VIKUNJA_CACHE_TYPE: redis
VIKUNJA_REDIS_ENABLED: 'true'
VIKUNJA_REDIS_HOST: ${REDIS_CONTAINER_NAME:-redis}:6379 # It's default port because we don't have yet configuration for redis port
#VIKUNJA_REDIS_PASSWORD: ${VIKUNJA_REDIS_PASSWORD} # We don't have yet configuration for redis with password
VIKUNJA_REDIS_PASSWORD: ${VIKUNJA_REDIS_PASSWORD} # We don't have yet configuration for redis with password
VIKUNJA_REDIS_DB: 0 # It's default becouse we don't have yet configuration for redis database name

View File

@ -3,16 +3,17 @@ version: "3.8"
# https://vikunja.io/docs/config-options/#mailer
services:
vikunja_api:
vikunja:
environment:
VIKUNJA_MAILER_ENABLED: ${VIKUNJA_MAILER_ENABLED:-true}
VIKUNJA_MAILER_ENABLED: true
VIKUNJA_MAILER_HOST: ${VIKUNJA_MAILER_HOST:?err}
VIKUNJA_MAILER_PORT: ${VIKUNJA_MAILER_PORT:?err}
VIKUNJA_MAILER_AUTHTYPE: ${VIKUNJA_MAILER_AUTHTYPE:-plain}
VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME:?err}
VIKUNJA_MAILER_PASSWORD: ${VIKUNJA_MAILER_PASSWORD:?err}
VIKUNJA_MAILER_SKIPTLSVERIFY: ${VIKUNJA_MAILER_SKIPTLSVERIFY:-false}
VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL:?err}
VIKUNJA_MAILER_QUEUELENGTH: ${VIKUNJA_MAILER_QUEUELENGTH:-100}
VIKUNJA_MAILER_QUEUETIMEOUT: ${VIKUNJA_MAILER_QUEUETIMEOUT:-30}
VIKUNJA_MAILER_FORCESSL: ${VIKUNJA_MAILER_FORCESSL:-false}
VIKUNJA_MAILER_HOST: ${VIKUNJA_MAILER_HOST:?err}
VIKUNJA_MAILER_PORT: ${VIKUNJA_MAILER_PORT:-587}
VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME:?err}
VIKUNJA_MAILER_PASSWORD: ${VIKUNJA_MAILER_PASSWORD:?err}
VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL:?err}

View File

@ -8,15 +8,9 @@ networks:
# https://vikunja.io/docs/full-docker-example/#example-with-traefik-2
services:
vikunja_api:
vikunja:
labels:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-api.rule=Host(`${VIKUNJA_DOMAIN:?err}`) && PathPrefix(`/api/v1`, `/dav/`, `/.well-known/`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-api.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
vikunja_frontend:
labels:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-frontend.rule=Host(`${VIKUNJA_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-frontend.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}.rule=Host(`${VIKUNJA_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}

View File

@ -0,0 +1,10 @@
version: "3.8"
# https://kolaente.dev/vikunja/vikunja/issues/1388
services:
vikunja:
environment:
VIKUNJA_BACKGROUNDS_PROVIDERS_UNSPLASH_ENABLED: true
VIKUNJA_BACKGROUNDS_PROVIDERS_UNSPLASH_ACCESSTOKEN: ${VIKUNJA_BACKGROUNDS_PROVIDERS_UNSPLASH_ACCESSTOKEN:?err}
VIKUNJA_BACKGROUNDS_PROVIDERS_UNSPLASH_APPLICATIONID: ${VIKUNJA_BACKGROUNDS_PROVIDERS_UNSPLASH_APPLICATIONID:?err}

View File

@ -8,19 +8,31 @@ volumes:
name: ${VIKUNJA_VOLUME_NAME:-vikunja}
services:
vikunja_api:
container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_api
image: ${VIKUNJA_API_IMAGE:-vikunja/api:0.21.0}
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:-true}
VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_EMAIL: ${VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_EMAIL:-true}
VIKUNJA_DEFAULTSETTINGS_OVERDUE_TASKS_REMINDERS_ENABLED: ${VIKUNJA_DEFAULTSETTINGS_OVERDUE_TASKS_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}
@ -30,22 +42,60 @@ services:
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_FRONTENDURL: ${VIKUNJA_SERVICE_FRONTENDURL:?err}
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:-GMT}
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_ROOTPATH: ${VIKUNJA_SERVICE_ROOTPATH:-/app/vikunja/}
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}
@ -53,9 +103,3 @@ services:
- vikunja:${VIKUNJA_VOLUME_PATH:-/app/vikunja/files}
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
vikunja_frontend:
container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_frontend
image: ${VIKUNJA_FRONTEND_IMAGE:-vikunja/frontend:0.21.0}
restart: always
depends_on:
- vikunja_api