feat(Vikunja): Add new service

This commit is contained in:
Simon 2022-04-15 14:54:08 +02:00
parent d8414788ef
commit 9d51c33038
8 changed files with 175 additions and 0 deletions

44
vikunja/.env Normal file
View File

@ -0,0 +1,44 @@
########
# DOCKER
#DOCKER_CONTEXT=
#DOCKER_HOST=
SERVICES_DIR=..
COMPOSE_FILE=${SERVICES_DIR}/vikunja/docker-compose.yml:${SERVICES_DIR}/vikunja/docker-compose.local.yml:${SERVICES_DIR}/vikunja/docker-compose.postgres.yml:${SERVICES_DIR}/postgres/docker-compose.yml
#COMPOSE_PROJECT_NAME=
## APP
#SMTP_HOST=mail.test.org
#SMTP_SECURE=
#SMTP_PORT=
#SMTP_AUTHTYPE=
#SMTP_NAME=test@test.org
#SMTP_PASSWORD=blablablabla
#MAIL_FROM_ADDRESS=no-reply
#MAIL_DOMAIN=test.org
##########
# POSTGRES
POSTGRES_USER=user-example
POSTGRES_PASSWORD=password-example
POSTGRES_DB=postgres-database-name-example
POSTGRES_CONTAINER_NAME=nextcloud-postgres
POSTGRES_VOLUME_NAME=nextcloud-postgres
#POSTGRES_IMAGE=
#######
# REDIS
#REDIS_IMAGE=
#REDIS_CONTAINER_NAME=nextcloud-redis
#REDIS_VOLUME_NAME=
#########
# TRAEFIK
#TRAEFIK_NETWORK_NAME=
#TRAEFIK_ROUTER_NAME= # Don't use char '.'
#TRAEFIK_ENTRYPOINTS=

View File

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

View File

@ -0,0 +1,19 @@
version: "3.8"
# https://vikunja.io/docs/config-options/#database
services:
vikunja_api:
depends_on:
- postgres
environment:
VIKUNJA_DATABASE_TYPE: ${VIKUNJA_DATABASE_TYPE:-postgres}
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}

View File

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

View File

@ -0,0 +1,14 @@
version: "3.8"
# https://vikunja.io/docs/config-options/#redis
services:
vikunja_api:
environment:
VIKUNJA_CACHE_ENABLED: 'true'
VIKUNJA_CACHE_TYPE: redis
VIKUNJA_REDIS_ENABLED: 'true'
VIKUNJA_REDIS_HOST: ${REDIS_CONTAINER_NAME:-redis}:6379
VIKUNJA_REDIS_PASSWORD: ${VIKUNJA_REDIS_PASSWORD}
VIKUNJA_REDIS_DB: 0

View File

@ -0,0 +1,18 @@
version: "3.8"
# https://vikunja.io/docs/config-options/#mailer
services:
vikunja_api:
environment:
VIKUNJA_MAILER_ENABLED: ${VIKUNJA_MAILER_ENABLED:-true}
VIKUNJA_MAILER_SKIPTLSVERIFY: ${VIKUNJA_MAILER_SKIPTLSVERIFY:-false}
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:?err}
VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME:?err}
VIKUNJA_MAILER_PASSWORD: ${VIKUNJA_MAILER_PASSWORD:?err}
VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL:?err}

View File

@ -0,0 +1,17 @@
version: "3.8"
# https://vikunja.io/docs/full-docker-example/#example-with-traefik-2
services:
vikunja_api:
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja-api.rule=Host(`vikunja.example.com`) && PathPrefix(`/api/v1`, `/dav/`, `/.well-known/`)"
- "traefik.http.routers.vikunja-api.entrypoints=https"
- "traefik.http.routers.vikunja-api.tls.certResolver=acme"
vikunja_frontend:
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja-frontend.rule=Host(`vikunja.example.com`)"
- "traefik.http.routers.vikunja-frontend.entrypoints=https"
- "traefik.http.routers.vikunja-frontend.tls.certResolver=acme"

View File

@ -0,0 +1,42 @@
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_api:
container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_api
image: ${VIKUNJA_API_IMAGE:-vikunja/api:0.18.1}
restart: always
environment:
VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET}
VIKUNJA_SERVICE_JWTTTL: ${VIKUNJA_SERVICE_JWTTTL:-259200}
VIKUNJA_SERVICE_JWTTTLLONG: ${VIKUNJA_SERVICE_JWTTTLLONG:-2592000}
VIKUNJA_SERVICE_FRONTENDURL: ${VIKUNJA_DOMAIN:?err}
VIKUNJA_SERVICE_MAXITEMSPERPAGE: ${VIKUNJA_SERVICE_MAXITEMSPERPAGE:-50}
VIKUNJA_SERVICE_ENABLECALDAV: ${VIKUNJA_SERVICE_ENABLECALDAV:-true}
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_ENABLETASKCOMMENTS: ${VIKUNJA_SERVICE_ENABLETASKCOMMENTS:-true}
VIKUNJA_SERVICE_ENABLETOTP: ${VIKUNJA_SERVICE_ENABLETOTP:-true}
VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: ${VIKUNJA_SERVICE_ENABLEEMAILREMINDERS:-true}
VIKUNJA_SERVICE_ENABLEUSERDELETION: ${VIKUNJA_SERVICE_ENABLEUSERDELETION:-true}
VIKUNJA_FILES_BASEPATH: ${VIKUNJA_FILES_BASEPATH:-./files}
VIKUNJA_FILES_MAXSIZE: ${VIKUNJA_FILES_MAXSIZE:-20MB}
PUID: ${VIKUNJA_PUID:-1000}
PGID: ${VIKUNJA_PGID:-1000}
volumes:
- vikunja:/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.18.2}