forked from coop-cloud/vikunja
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3dd82d592 | ||
|
|
8f2427c43a | ||
|
|
a3e1bf9003 | ||
|
|
11057aaa7d | ||
|
|
345f2f620b | ||
|
|
c925f1cedc | ||
|
|
7246a8d475
|
||
|
|
77b79f1e94 | ||
|
|
3f0d97f064 | ||
|
|
2710454c8e
|
+4
-1
@@ -42,7 +42,10 @@ VIKUNJA_AUTH_LOCAL_ENABLED=false
|
|||||||
# COMPOSE_FILE="${COMPOSE_FILE}:compose.smtp.yml"
|
# COMPOSE_FILE="${COMPOSE_FILE}:compose.smtp.yml"
|
||||||
# VIKUNJA_MAILER_ENABLED=true
|
# VIKUNJA_MAILER_ENABLED=true
|
||||||
# VIKUNJA_MAILER_HOST=mail.example.com
|
# VIKUNJA_MAILER_HOST=mail.example.com
|
||||||
|
# VIKUNJA_MAILER_PORT=25
|
||||||
# VIKUNJA_MAILER_AUTHTYPE=plain # possible: plain, login, cram-md5
|
# VIKUNJA_MAILER_AUTHTYPE=plain # possible: plain, login, cram-md5
|
||||||
# VIKUNJA_MAILER_USERNAME=user
|
# VIKUNJA_MAILER_USERNAME=user
|
||||||
# VIKUNJA_MAILER_FROMEMAIL=user@example.com
|
# VIKUNJA_MAILER_FROMEMAIL=user@example.com
|
||||||
# SECRET_SMTP_PASSWORD_VERSION=v1
|
# VIKUNJA_MAILER_SKIPTLSVERIFY=false
|
||||||
|
# VIKUNJA_MAILER_FORCESSL=false
|
||||||
|
# SECRET_SMTP_PASSWORD_VERSION=v1
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
export CONFIG_YML_VERSION=v9
|
export CONFIG_YML_VERSION=v10
|
||||||
export HEALTHCHECK_VERSION=v1
|
export HEALTHCHECK_VERSION=v1
|
||||||
export PG_BACKUP_VERSION=v2
|
export PG_BACKUP_VERSION=v2
|
||||||
|
|||||||
+9
-5
@@ -3,11 +3,15 @@ version: "3.8"
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
environment:
|
environment:
|
||||||
- SMTP_ENABLED
|
- VIKUNJA_MAILER_ENABLED
|
||||||
- SMTP_HOST
|
- VIKUNJA_MAILER_HOST
|
||||||
- SMTP_AUTHTYPE
|
- VIKUNJA_MAILER_PORT
|
||||||
- SMTP_USER
|
- VIKUNJA_MAILER_AUTHTYPE
|
||||||
- SMTP_FROM_EMAIL
|
- VIKUNJA_MAILER_SKIPTLSVERIFY
|
||||||
|
- VIKUNJA_MAILER_FORCESSL
|
||||||
|
- VIKUNJA_MAILER_USERNAME
|
||||||
|
- VIKUNJA_MAILER_PASSWORD_FILE=/run/secrets/smtp_password
|
||||||
|
- VIKUNJA_MAILER_FROMEMAIL
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
- smtp_password
|
- smtp_password
|
||||||
|
|||||||
+33
-22
@@ -2,13 +2,29 @@
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
vikunja-init:
|
||||||
|
image: busybox:1.38.0
|
||||||
|
command:
|
||||||
|
[
|
||||||
|
"sh",
|
||||||
|
"-c",
|
||||||
|
"chown -R 1000:0 /app/vikunja/files && chmod -R 775 /app/vikunja/files && sleep 300",
|
||||||
|
]
|
||||||
|
volumes:
|
||||||
|
- files:/app/vikunja/files
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
restart_policy:
|
||||||
|
condition: none
|
||||||
|
max_attempts: 0
|
||||||
|
|
||||||
app:
|
app:
|
||||||
image: vikunja/vikunja:0.24.6
|
image: vikunja/vikunja:2.3.0
|
||||||
environment:
|
environment:
|
||||||
- DOMAIN
|
- DOMAIN
|
||||||
- LOG_LEVEL
|
- LOG_LEVEL
|
||||||
- VIKUNJA_RATELIMIT_NOAUTHLIMIT
|
- VIKUNJA_RATELIMIT_NOAUTHLIMIT
|
||||||
- VIKUNJA_SERVICE_PUBLICURL=${DOMAIN}
|
- VIKUNJA_SERVICE_PUBLICURL=https://${DOMAIN}
|
||||||
- VIKUNJA_DATABASE_HOST=db
|
- VIKUNJA_DATABASE_HOST=db
|
||||||
- VIKUNJA_DATABASE_PASSWORD_FILE=/run/secrets/db_password
|
- VIKUNJA_DATABASE_PASSWORD_FILE=/run/secrets/db_password
|
||||||
- VIKUNJA_DATABASE_TYPE=postgres
|
- VIKUNJA_DATABASE_TYPE=postgres
|
||||||
@@ -21,12 +37,6 @@ services:
|
|||||||
- VIKUNJA_CACHE_TYPE=redis
|
- VIKUNJA_CACHE_TYPE=redis
|
||||||
- VIKUNJA_SERVICE_ENABLEREGISTRATION=false
|
- VIKUNJA_SERVICE_ENABLEREGISTRATION=false
|
||||||
- VIKUNJA_SERVICE_JWTTTL=604800
|
- VIKUNJA_SERVICE_JWTTTL=604800
|
||||||
- VIKUNJA_MAILER_ENABLED
|
|
||||||
- VIKUNJA_MAILER_HOST
|
|
||||||
- VIKUNJA_MAILER_AUTHTYPE
|
|
||||||
- VIKUNJA_MAILER_USERNAME
|
|
||||||
- VIKUNJA_MAILER_PASSWORD_FILE=/run/secrets/smtp_password
|
|
||||||
- VIKUNJA_MAILER_FROMEMAIL
|
|
||||||
- VIKUNJA_LOG_LEVEL
|
- VIKUNJA_LOG_LEVEL
|
||||||
- VIKUNJA_LOG_DATABASE
|
- VIKUNJA_LOG_DATABASE
|
||||||
- VIKUNJA_LOG_DATABASELEVEL
|
- VIKUNJA_LOG_DATABASELEVEL
|
||||||
@@ -36,7 +46,7 @@ services:
|
|||||||
- VIKUNJA_AUTH_LOCAL_ENABLED
|
- VIKUNJA_AUTH_LOCAL_ENABLED
|
||||||
- VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_NAME
|
- VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_NAME
|
||||||
- VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_EMAIL
|
- VIKUNJA_DEFAULTSETTINGS_DISCOVERABLE_BY_EMAIL
|
||||||
volumes:
|
volumes:
|
||||||
- files:/app/vikunja/files
|
- files:/app/vikunja/files
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
@@ -53,7 +63,7 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.docker.network=proxy"
|
- "traefik.swarm.network=proxy"
|
||||||
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3456"
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3456"
|
||||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||||
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
||||||
@@ -61,22 +71,22 @@ services:
|
|||||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.replacement=https://${DOMAIN}$${1}"
|
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.replacement=https://${DOMAIN}$${1}"
|
||||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
- "coop-cloud.${STACK_NAME}.version=1.2.0+0.24.6"
|
- "coop-cloud.${STACK_NAME}.version=2.2.0+2.3.0"
|
||||||
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
|
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "/healthcheck"]
|
test: ["CMD", "/healthcheck"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
retries: 30
|
||||||
start_period: 1m
|
start_period: 1m
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:8.2.2-alpine
|
image: redis:8.8.0-alpine
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres:13
|
image: pgautoupgrade/pgautoupgrade:17-alpine
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
||||||
POSTGRES_USER: vikunja
|
POSTGRES_USER: vikunja
|
||||||
@@ -85,7 +95,10 @@ services:
|
|||||||
- db:/var/lib/postgresql/data
|
- db:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
|
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
|
||||||
interval: 2s
|
interval: 10s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 30
|
||||||
|
start_period: 1m
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
secrets:
|
secrets:
|
||||||
@@ -95,23 +108,21 @@ services:
|
|||||||
backupbot.backup: "${ENABLE_BACKUPS:-true}"
|
backupbot.backup: "${ENABLE_BACKUPS:-true}"
|
||||||
backupbot.backup.pre-hook: "/pg_backup.sh backup"
|
backupbot.backup.pre-hook: "/pg_backup.sh backup"
|
||||||
backupbot.backup.volumes.db.path: "backup.sql"
|
backupbot.backup.volumes.db.path: "backup.sql"
|
||||||
backupbot.restore.post-hook: '/pg_backup.sh restore'
|
backupbot.restore.post-hook: "/pg_backup.sh restore"
|
||||||
configs:
|
configs:
|
||||||
- source: pg_backup
|
- source: pg_backup
|
||||||
target: /pg_backup.sh
|
target: /pg_backup.sh
|
||||||
mode: 0555
|
mode: 0555
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
files:
|
files:
|
||||||
db:
|
db:
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
internal:
|
internal:
|
||||||
|
|
||||||
|
|
||||||
configs:
|
configs:
|
||||||
config_yml:
|
config_yml:
|
||||||
name: ${STACK_NAME}_config_yml_${CONFIG_YML_VERSION}
|
name: ${STACK_NAME}_config_yml_${CONFIG_YML_VERSION}
|
||||||
|
|||||||
+2
-1
@@ -14,7 +14,8 @@ auth:
|
|||||||
openid:
|
openid:
|
||||||
enabled: {{ env "OAUTH_ENABLED" }}
|
enabled: {{ env "OAUTH_ENABLED" }}
|
||||||
providers:
|
providers:
|
||||||
- name: {{ env "OAUTH_NAME" }}
|
{{ env "OAUTH_NAME" }}:
|
||||||
|
name: {{ env "OAUTH_NAME" }}
|
||||||
authurl: {{ env "OAUTH_URL" }}
|
authurl: {{ env "OAUTH_URL" }}
|
||||||
logouturl: {{ env "OAUTH_LOGOUT_URL" }}
|
logouturl: {{ env "OAUTH_LOGOUT_URL" }}
|
||||||
clientid: {{ env "OAUTH_CLIENT_ID" }}
|
clientid: {{ env "OAUTH_CLIENT_ID" }}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
add missing smtp options and increase healthcheck retries
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
patch CVEs: CVE-2026-33312 and CVE-2026-29794
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:recommended"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user