99 Commits

Author SHA1 Message Date
72eaf74ce2 feat(Matomo): Add service 2025-11-03 21:01:54 +01:00
e5c34ad8e3 feat(Directus): Add ACCEPT_TERMS variable to accept BSL License 2025-11-03 20:58:08 +01:00
154163fcf7 feat(Vaultwarden): Add new org groups feature 2025-11-03 20:58:08 +01:00
e08af3bae2 feat(LLDAP): Utilisation de la nouvelle variable plus généric 2025-11-03 20:58:08 +01:00
d896905acc feat(Vaultwarden): Change domain variable 2025-11-03 20:58:08 +01:00
15946657f7 feat(Vaultwarden): Remove experimental configuration 2025-11-03 20:58:08 +01:00
10499c16ee feat(Vaultwarden): Ajout de la configuration SSO 2025-11-03 20:58:08 +01:00
8db7a6288a feat(Vaultwarden): Ajout de variable de configuration du service 2025-11-03 20:58:08 +01:00
08eb7e47c0 feat(Vaultwarden): Ajout de documentation pour la traduction des mails 2025-11-03 20:58:08 +01:00
a827eef634 feat(Vaultwarden): Ajout d'une configuration de Traefik pour redirection automatique HTTP 2025-11-03 20:58:08 +01:00
bbc434672b feat(SignaturePDF): Add Traefik redirection 2025-11-03 20:58:08 +01:00
cb09904046 feat(SignaturePDF): Add default variable for # Installation variable 2025-11-03 20:58:08 +01:00
189f11eff5 feat(SignaturePDF): Add default language variable 2025-11-03 20:58:08 +01:00
2b00675c12 feat(SignaturePDF): Add Traefik entrypoints variable 2025-11-03 20:58:08 +01:00
20583a9ef1 feat(Nextcloud): Update default value of SMTP 2025-11-03 20:58:08 +01:00
7e26cab902 feat(Docker Compose): Remove obsolete version variable
see: https://github.com/docker/compose/issues/11628
2025-11-03 20:58:08 +01:00
32313d1815 feat(Drone Server): Add external parameter for network 2025-11-03 20:58:08 +01:00
2b2f6df49c chore(Nextcloud): Upgrade nginx 2025-11-03 20:58:08 +01:00
b779ea4cd9 feat(Nextcloud): Update nginx template
https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html
2025-11-03 20:58:08 +01:00
b381d15fba feat(Nextcloud): Split redis & postgres configuration 2025-11-03 20:58:08 +01:00
26cc93a4fd feat(Vikunja): Add all default variables 2025-11-03 20:58:08 +01:00
dd98a9a07e feat(Vikunja): Split configuration 2025-11-03 20:58:08 +01:00
4051b96761 fix(Vikunja): Fix default language 2025-11-03 20:58:08 +01:00
55d29b5a9b fix(Vikunja): Add default values 2025-11-03 20:58:08 +01:00
e5cd6467e7 feat(Vikunja): Add more configuration 2025-11-03 20:58:08 +01:00
1ac75e4454 chore(Vikunja): Upgrade to 0.21.0
https://vikunja.io/blog/2023/07/whats-new-in-vikunja-0.21.0/
2025-11-03 20:58:08 +01:00
e4136b143f chore(Gitea): Upgrade default version to 1.20.4 2025-11-03 20:58:08 +01:00
a2e16404d6 feat(Gitea): Split Postgres configuration 2025-11-03 20:58:08 +01:00
63e70ac899 feat(Traefik): Upgrade and disable dashboard ad 2025-11-03 20:58:08 +01:00
bd9bcdbaf4 feat(Directus): Add DIRECTUS_ prefix like others variables 2025-11-03 20:58:08 +01:00
495faac457 feat(Directus): Add CORS_ORIGIN variable 2025-11-03 20:58:08 +01:00
58f0cbc4d6 feat(Directus): Add CORS_ENABLED variable 2025-11-03 20:58:08 +01:00
430465588d fix(lldap): variables name 2025-11-03 20:58:08 +01:00
a5183dbc79 fix(Docker): Network should be external with docker compose 2.20.0 2025-11-03 20:58:08 +01:00
4f8541703b feat(LLDAP): Add new service 2025-11-03 20:58:07 +01:00
919d627389 feat(Signaturepdf): Add restart parameter 2025-11-03 20:57:41 +01:00
4a72cbe804 feat(Signaturepdf): Add default image 2025-11-03 20:57:41 +01:00
6baf283259 feat(Signaturepdf): Add new service 2025-11-03 20:57:41 +01:00
283557d01d docs(Redis): Add documentation 2025-11-03 20:57:41 +01:00
a5c1b5825a docs(Drone): Add documentation 2025-11-03 20:57:41 +01:00
401d104fcb fix(Nextcloud): Trusted proxies is for fpm not web container 2025-11-03 20:57:41 +01:00
9d908538dc fix(Nextcloud): Add variable to configure SMTP 2025-11-03 20:57:41 +01:00
08eb2e06bc feat(Gitea): Update configuration 2025-11-03 20:57:41 +01:00
db2712be15 feat(Gitea): Upgrade to 1.19 and update configuration 2025-11-03 20:57:41 +01:00
dd3478f3bd feat(Traefik): Pilot is deprecated
https://traefik.io/blog/announcing-traefik-proxy-2-8/
2025-11-03 20:57:40 +01:00
78d93bea34 feat(Vikunja): Restart container & explicite dependency 2025-11-03 20:57:40 +01:00
c79ad96c0c chore(Nextcloud): Upgrade to 25.0.2
https://nextcloud.com/changelog/#25-0-2
2025-11-03 20:57:40 +01:00
bda435064b feat(Nextcloud): Remove run script 2025-11-03 20:57:40 +01:00
eaabd3dff0 docs(Nextcloud): Add environment variables documentation 2025-11-03 20:57:40 +01:00
04f5f2c40c chore(Nginx): Upgrade to 1.23.3 2025-11-03 20:57:40 +01:00
c89672edd4 feat(Nextcloud): Update SMTP environment variables 2025-11-03 20:57:40 +01:00
0028bff5da feat(Nextcloud): Add environment variables to configure server 2025-11-03 20:57:40 +01:00
0d95a34439 feat(Nextcloud): Update web folder path with generic SERVICES_DIR 2025-11-03 20:57:40 +01:00
dc174d141b feat(Nextcloud): Add all configuration on cron container 2025-11-03 20:57:40 +01:00
61f98de7c4 feat(Nextcloud): SMTP configuration should not be empty 2025-11-03 20:57:40 +01:00
43e48bd839 fix(Vaultwarden): Update image variable name 2025-11-03 20:57:40 +01:00
c552fbb699 feat(Vaultwarden): Move postgres dependency on postgres file 2025-11-03 20:57:40 +01:00
ff6335c117 feat(Vaultwarden): Ajout de la variable pour configurer le nom du service 2025-11-03 20:57:40 +01:00
9783bf894a feat(Vaultwarden): Add timezone information 2025-11-03 20:57:40 +01:00
519e07c4d4 feat(Vaultwarden): Add new service 2025-11-03 20:57:40 +01:00
e003580b48 feat(Uptime Kuma): Add documentation and default .env 2025-11-03 20:57:40 +01:00
0b32053961 feat(Uptime Kuma): Add new service 2025-11-03 20:57:40 +01:00
3ce53408ad feat(listmonk): Add new service 2025-11-03 20:57:38 +01:00
fa539e2da7 docs(Registry): Add command to clean registry 2025-11-03 20:57:06 +01:00
b0293a2d95 feat(Vikunja): Add new service 2025-11-03 20:57:06 +01:00
dd227b73e3 chore(Traefik): Upgrade to 2.6.3
https://github.com/traefik/traefik/releases/tag/v2.6.3
2025-11-03 20:57:06 +01:00
4dafb0a5cb chore(Registry): Upgrade to 2.8.1
https://github.com/distribution/distribution/releases/tag/v2.8.1
2025-11-03 20:57:06 +01:00
43326004c5 chore(Prometheus): Upgrade to 2.34.0
https://github.com/prometheus/prometheus/releases/tag/v2.34.0
2025-11-03 20:57:06 +01:00
499a71857b chore(Nextcloud): Upgrade to 23.0.3
https://nextcloud.com/changelog/#latest23
2025-11-03 20:57:06 +01:00
4d6ae3fbf4 chore(Hedgedoc): Upgrade to 1.9.3
https://github.com/hedgedoc/hedgedoc/releases/tag/1.9.3
2025-11-03 20:57:06 +01:00
2e5f3d2285 chore(Grafana): Upgrade to 8.4.6
https://github.com/grafana/grafana/releases/tag/v8.4.6
2025-11-03 20:57:06 +01:00
076781d131 chore(Gitea): Upgrade to 1.16.5
https://github.com/go-gitea/gitea/releases/tag/v1.16.5
2025-11-03 20:57:06 +01:00
53e6d5cb94 chore(Drone): Upgrade to 2.11.1
https://github.com/harness/drone/releases/tag/v2.11.1
2025-11-03 20:57:06 +01:00
20ff8b7950 chore(Directus): Upgrade to 9.8.0
https://github.com/directus/directus/releases/tag/v9.8.0
2025-11-03 20:57:06 +01:00
fa669dc304 fix(Hedgedoc): Update backup folder 2025-11-03 20:57:06 +01:00
440a8eba35 feat(Plausible): Add log level variable 2025-11-03 20:57:06 +01:00
4e37027ea5 feat(Directus): Add timezone variable 2025-11-03 20:57:06 +01:00
df684d83ac chore(Gitea): Upgrade to 1.16.3
https://github.com/go-gitea/gitea/releases/tag/v1.16.3
2025-11-03 20:57:06 +01:00
a15d7ebeab chore(Drone Server): Upgrade to 2.10.0
https://github.com/harness/drone/releases/tag/v2.10.0
2025-11-03 20:57:06 +01:00
d3056d42fa chore(Prometheus): Upgrade to 2.33.4
https://github.com/prometheus/prometheus/releases/tag/v2.33.4
2025-11-03 20:57:06 +01:00
cd51e3e635 chore(Grafana): Upgrade to 8.4.3
https://github.com/grafana/grafana/releases/tag/v8.4.3
2025-11-03 20:57:06 +01:00
ed361b833b chore(Directus): Upgrade to 9.6.0
https://github.com/directus/directus/releases/tag/v9.6.0
2025-11-03 20:57:06 +01:00
b76380e263 feat(Plausible): Add more environment variables 2025-11-03 20:57:06 +01:00
86f37f6a6e docs(Plausible): Add default variables 2025-11-03 20:57:06 +01:00
cae7d65d2f fix(GeoIP Update): Frequency 2025-11-03 20:57:06 +01:00
92ec22ed4d fix(GeoIp Update): volume name 2025-11-03 20:57:06 +01:00
97665582c3 fix(Plausible): BASE_URL != PLAUSIBLE_DOMAIN 2025-11-03 20:57:06 +01:00
d245e45ecd feat(Plausible): Add new service 2025-11-03 20:57:06 +01:00
ed23a51021 feat(GeoIP Update): Add new service 2025-11-03 20:57:06 +01:00
3cbf709c5a feat(ClickHouse): Add new service 2025-11-03 20:57:06 +01:00
e2bb32e145 docs(Postgres): Add default variable 2025-11-03 20:57:06 +01:00
061d08a940 feat(Docker): Remove hash because it depends on the architecture 2025-11-03 20:57:06 +01:00
6842231ced docs(Redis): Add default variable on .env files 2025-11-03 20:57:06 +01:00
10057d68ad feat(Redis): Add volume name 2025-11-03 20:57:06 +01:00
9df93f388c chore(Traefik): Upgrade to 2.6.1
https://github.com/traefik/traefik/releases/tag/v2.6.1
2025-11-03 20:57:06 +01:00
90f008931a chore(Nextcloud): Upgrade to 23.0.2
https://nextcloud.com/changelog/#latest23
2025-11-03 20:57:06 +01:00
78a8c64031 chore(Grafana): Upgrade to 8.4.1
https://github.com/grafana/grafana/releases/tag/v8.4.0
https://github.com/grafana/grafana/releases/tag/v8.4.1
2025-11-03 20:57:06 +01:00
e6eb845efa feat(Matomo): Add service 2022-02-15 00:05:58 +01:00
882eda9f45 feat(MariaDB): Add new service 2022-02-15 00:00:30 +01:00
100 changed files with 365 additions and 241 deletions

View File

@@ -8,6 +8,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien
- [Directus](./directus) : Permet d'administrer une base de données
- [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel
- [Matomo](./matomo) : Logiciel libre et open source de mesure de statistiques web
- [listmonk](./listmonk) : Gestionnaire de listes de diffusion et de newsletter
- [Mobilizon](./mobilizon): Permet l'organisation d'évènements et de gestion de groupes
- [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration
@@ -23,6 +24,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien
- [GeoIP Update](./geoipupdate) : Permet de télécharger la base de données GeoIP2 permettant de localiser les IPs
- [Gitea](./gitea) : Un service Git très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab.
- [Grafana](./grafana) : Un outil de supervision simple et élégant
- [MariaDB](./mariadb) : MariaDB est un système de gestion de base de données, un fork communautaire de MySQL
- [LLDAP](./lldap): Implémentation légère de LDAP pour l'authentification
- [PostgreSQL](./postgres) : PostgreSQL est un système de gestion de base de données relationnelle et objet.
- [Prometheus](./prometheus) : Un logiciel de surveillance informatique

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
volumes:
clickhouse:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
directus:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
directus:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
directus:
name: ${DIRECTUS_VOLUME_NAME:-directus}
@@ -20,6 +18,7 @@ services:
KEY: ${DIRECTUS_KEY:?err}
SECRET: ${DIRECTUS_SECRET:?err}
TELEMETRY: false
ACCEPT_TERMS: ${DIRECTUS_ACCEPT_TERMS:-true}
ADMIN_EMAIL: ${DIRECTUS_ADMIN_EMAIL:?err}
ADMIN_PASSWORD: ${DIRECTUS_ADMIN_PASSWORD:?err}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/runner/docker/configuration/dashboard/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
drone-runner:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/runner/docker/configuration/logging/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/runner/docker/installation/linux/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/server/cookie/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/server/provider/gitea/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/server/headers/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
drone-server:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/server/logging/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/server/storage/database/
# https://docs.drone.io/server/storage/encryption/

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
# https://docs.drone.io/server/user/registration/
services:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
drone-server:
name: ${DRONE_SERVER_VOLUME_NAME:-drone-server}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
geoip:
name: ${GEOIP_VOLUME_NAME:-geoip}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
geoipupdate:
name: ${GEOIPUPDATE_VOLUME_NAME:-geoipupdate}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
gitea:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
gitea:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
gitea:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
gitea:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
gitea:
name: ${GITEA_VOLUME_NAME:-gitea}

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
grafana:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
grafana:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
grafana:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:

View File

@@ -1,5 +1,4 @@
---
version: "3.8"
volumes:
grafana:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
volumes:
hedgedoc:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:

View File

@@ -8,7 +8,7 @@ COMPOSE_FILE=${SERVICES_DIR}/lldap/docker-compose.yml:${SERVICES_DIR}/lldap/dock
#######
# LLDAP
LLDAP_DOMAIN=lldap.cool.life
SERVICE_DOMAIN=lldap.cool.life
LLDAP_VOLUME_NAME=lldap_cool_life
LLDAP_CONTAINER_NAME=lldap_cool_life
LLDAP_IMAGE=nitnelave/lldap:v0.4.3

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
lldap:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
lldap:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
lldap:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}
@@ -12,13 +10,13 @@ services:
labels:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-lldap}.rule=Host(`${LLDAP_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-lldap}.rule=Host(`${SERVICE_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-lldap}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
# - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-lldap}.tls.certResolver=letsencrypt
- traefik.http.services.${TRAEFIK_ROUTER_NAME:-lldap}.loadbalancer.server.port=17170
- traefik.http.services.${TRAEFIK_ROUTER_NAME:-lldap}.loadbalancer.server.scheme=http
# https://github.com/lldap/lldap/issues/247#issuecomment-1489962511
# - traefik.tcp.routers.${TRAEFIK_ROUTER_NAME:-lldap}.rule=HostSNI(`${LLDAP_DOMAIN:?err}`)
# - traefik.tcp.routers.${TRAEFIK_ROUTER_NAME:-lldap}.rule=HostSNI(`${SERVICE_DOMAIN:?err}`)
# - traefik.tcp.routers.${TRAEFIK_ROUTER_NAME:-lldap}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
# - traefik.tcp.services.${TRAEFIK_ROUTER_NAME:-lldap}.loadbalancer.server.port=3890

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
lldap:
name: ${LLDAP_VOLUME_NAME:-lldap}
@@ -18,7 +16,7 @@ services:
- LLDAP_VERBOSE=${LLDAP_VERBOSE:-false}
- LLDAP_JWT_SECRET=${LLDAP_JWT_SECRET:?err}
- LLDAP_HTTP_URL=https://${LLDAP_DOMAIN:?err}
- LLDAP_HTTP_URL=https://${SERVICE_DOMAIN:?err}
- LLDAP_LDAP_BASE_DN=${LLDAP_LDAP_BASE_DN:?err}
- LLDAP_LDAP_USER_DN=${LLDAP_LDAP_USER_DN:?err}

8
mariadb/.env Normal file
View File

@@ -0,0 +1,8 @@
#MARIADB_CONTAINER_NAME=
#MARIADB_VOLUME_NAME=
#MARIADB_IMAGE=
MARIADB_ROOT_PASSWORD=replace-me
MARIADB_USER=user-example
MARIADB_PASSWORD=password-example
MARIADB_DATABASE=mariadb-database-name-example
#MARIADB_COMMAND=

28
mariadb/README.md Normal file
View File

@@ -0,0 +1,28 @@
# MariaDB
> MariaDB est un système de gestion de base de données édité sous licence GPL. Il s'agit d'un fork communautaire de MySQL
>
> <cite>[Wikipédia][wikipedia]</cite>
## Configuration
Les variables contenu dans `.env` permettent de changer :
- `MARIADB_IMAGE` : la version
- `MARIADB_ROOT_PASSWORD` : le mot de passe _root_
- `MARIADB_USER` : le nom d'utilisateur
- `MARIADB_PASSWORD` : le mot de passe
- `MARIADB_DATABASE` : le nom de la base de données
- `MARIADB_CONTAINER_NAME` (par defaut _mariadb_) : le nom du conteneur
- `MARIADB_VOLUME_NAME` (par defaut _mariadb_) : le nom du volume
## Liens
- [Site Officiel][site]
- [Code source][source]
- [Docker Hub][dockerhub]
[wikipedia]: https://fr.wikipedia.org/wiki/MariaDB
[site]: https://mariadb.org/
[source]: https://github.com/MariaDB/server
[dockerhub]: https://hub.docker.com/_/mariadb/

View File

@@ -0,0 +1,23 @@
version: "3.8"
volumes:
mariadb:
name: ${MARIADB_VOLUME_NAME:-mariadb}
services:
mariadb:
container_name: ${MARIADB_CONTAINER_NAME:-mariadb}
image: ${MARIADB_IMAGE:-mariadb:10.7.1-focal}
command: ${MARIADB_COMMAND}
restart: always
environment:
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:?err}
MARIADB_USER: ${MARIADB_USER:?err}
MARIADB_PASSWORD: ${MARIADB_PASSWORD:?err}
MARIADB_DATABASE: ${MARIADB_DATABASE:?err}
PUID: ${MARIADB_PUID:-1000}
PGID: ${MARIADB_PGID:-1000}
volumes:
- mariadb:/var/lib/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro

31
matomo/.env Normal file
View File

@@ -0,0 +1,31 @@
########
# DOCKER
#DOCKER_CONTEXT=
#DOCKER_HOST=
SERVICES_DIR=..
COMPOSE_FILE=${SERVICES_DIR}/matomo/docker-compose.yml:${SERVICES_DIR}/matomo/docker-compose.local.yml
#COMPOSE_PROJECT_NAME=
## APP
MATOMO_DOMAIN=localhost
#MATOMO_CONTAINER_NAME=matomo
#MATOMO_VOLUME_NAME=matomo
#MATOMO_IMAGE=matomo:4.1.1-apache
## MARIADB
#MARIADB_VOLUME_NAME=
#MARIADB_CONTAINER_NAME=
#MARIADB_IMAGE=
MARIADB_USER=user-example
MARIADB_ROOT_PASSWORD=password-example
MARIADB_PASSWORD=password-example
MARIADB_DB=matomo_dev
## TRAEFIK
#TRAEFIK_NETWORK_NAME=
#TRAEFIK_ROUTER_NAME=
#TRAEFIK_ENTRYPOINTS=

15
matomo/README.md Normal file
View File

@@ -0,0 +1,15 @@
# Matomo
> Matomo est une plateforme d'analyse Web complète et open source.
## Liens
- [Site Officiel][site]
- [Documentation][documentation]
- [Code source][source]
- [Docker Hub][dockerhub]
[site]: https://matomo.org/
[source]: https://github.com/matomo-org/matomo
[documentation]: https://matomo.org/faq/reports/tour-of-matomo-overview-of-the-reporting-interface/
[dockerhub]: https://hub.docker.com/_/matomo/

View File

@@ -0,0 +1,6 @@
---
services:
matomo:
ports:
- ${LOCAL_PORT:-8080}:80

View File

@@ -0,0 +1,14 @@
---
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}
external: true
services:
matomo:
labels:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-matomo}.rule=Host(`${MATOMO_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-matomo}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}

48
matomo/docker-compose.yml Normal file
View File

@@ -0,0 +1,48 @@
---
services:
db:
image: mariadb:lts
container_name: ${MARIADB_CONTAINER_NAME:-mariadb}
image: ${MARIADB_IMAGE:-mariadb:lts}
command: --max-allowed-packet=64MB
restart: always
volumes:
- db:/var/lib/mysql:Z
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- MARIADB_AUTO_UPGRADE=1
- MARIADB_DATABASE=matomo
- MARIADB_DISABLE_UPGRADE_BACKUP=1
- MARIADB_INITDB_SKIP_TZINFO=1
- MARIADB_PASSWORD=${MARIADB_PASSWORD:?err}
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:?err}
- MARIADB_USER=matomo
app:
container_name: ${MATOMO_CONTAINER_NAME:-matomo}
image: ${MATOMO_IMAGE:-matomo:4.1.1-apache}
restart: always
volumes:
# - ./config:/var/www/html/config:z
# - ./logs:/var/www/html/logs:z
- matomo:/var/www/html:z
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- db
environment:
- MATOMO_DATABASE_ADAPTER=mysql
- MATOMO_DATABASE_DBNAME=matomo
- MATOMO_DATABASE_HOST=db
- MATOMO_DATABASE_PASSWORD=${MARIADB_PASSWORD:?err}
- MATOMO_DATABASE_TABLES_PREFIX=matomo_
- MATOMO_DATABASE_USERNAME=matomo
ports:
- 8080:80
volumes:
db:
matomo:
name: ${MATOMO_VOLUME_NAME:-matomo}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
mobilizon:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
mobilizon:
name: ${MOBILIZON_VOLUME_NAME:-mobilizon}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
nextcloud-fpm:
environment:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
nextcloud-web:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
nextcloud-fpm:
depends_on:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
nextcloud-fpm:
depends_on:

View File

@@ -1,14 +1,12 @@
---
version: "3.8"
services:
nextcloud-fpm:
environment:
&smtp-configuration
SMTP_HOST: ${SMTP_HOST:?err}
SMTP_SECURE: ${SMTP_SECURE:-ssl}
SMTP_PORT: ${SMTP_PORT:-465}
SMTP_SECURE: ${SMTP_SECURE:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_AUTHTYPE: ${SMTP_AUTHTYPE:-LOGIN}
SMTP_NAME: ${SMTP_NAME:?err}
SMTP_PASSWORD: ${SMTP_PASSWORD:?err}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
nextcloud:
name: ${NEXTCLOUD_VOLUME_NAME:-nextcloud}

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
clickhouse:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
plausible:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
plausible:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
plausible:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
plausible:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
volumes:
plausible:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
volumes:
postgres:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
volumes:
redis:

View File

@@ -0,0 +1,11 @@
---
services:
signaturepdf:
labels:
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}.tls.certResolver=letsencrypt
# redirect HTTP to HTTPS
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}_http.rule=Host(`${SIGNATUREPDF_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}_http.entrypoints=web
- traefik.http.middlewares.${TRAEFIK_ROUTER_NAME:-signaturepdf}_redirect_https.redirectscheme.scheme=https
- traefik.http.middlewares.${TRAEFIK_ROUTER_NAME:-signaturepdf}_redirect_https.redirectscheme.permanent=true
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}_http.middlewares=${TRAEFIK_ROUTER_NAME:-signaturepdf}_redirect_https

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}
@@ -13,4 +11,4 @@ services:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}.rule=Host(`${SIGNATUREPDF_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}.entrypoints=web
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-signaturepdf}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
signaturepdf:
name: ${SIGNATUREPDF_VOLUME_NAME:-signaturepdf}
@@ -21,3 +19,5 @@ services:
PDF_STORAGE_PATH: ${PDF_STORAGE_PATH}
DISABLE_ORGANIZATION: ${DISABLE_ORGANIZATION}
PDF_DEMO_LINK: ${PDF_DEMO_LINK}
DEFAULT_LANGUAGE: ${DEFAULT_LANGUAGE:-fr_FR.UTF-8}
PDF_STORAGE_ENCRYPTION: ${PDF_STORAGE_ENCRYPTION:-true}

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
traefik:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
services:
traefik:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:

View File

@@ -1,4 +1,4 @@
version: "3.8"
---
volumes:
traefik:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
uptimekuma:
ports:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
volumes:
uptimekuma:
name: ${UPTIMEKUMA_VOLUME_NAME:-uptimekuma}

View File

@@ -9,7 +9,7 @@ COMPOSE_FILE=${SERVICES_DIR}/vaultwarden/docker-compose.yml
#VAULTWARDEN_IMAGE=
#VAULTWARDEN_VOLUME_NAME=
VAULTWARDEN_DOMAIN=vaultwarden.local
SERVICE_DOMAIN=vaultwarden.local
#VAULTWARDEN_LOG_LEVEL=
#VAULTWARDEN_SIGNUPS_ALLOWED=false

View File

@@ -10,6 +10,20 @@ Toutes les variables de configuration du service sont disponibles à [cette adre
[Les clients de Bitwarden](https://bitwarden.com/#download) sont compatibles avec le serveur.
## Ajout des mails en Français
Il est possible de [traduire les mails](https://github.com/dani-garcia/vaultwarden/wiki/Translating-the-email-templates).
```
. .env
cd /var/lib/docker/volumes/${VAULTWARDEN_VOLUME_NAME}/_data/
mkdir templates && cd templates
wget https://github.com/YoanSimco/vaultwarden-lang-fr/archive/refs/heads/main.zip
unzip main.zip
mv vaultwarden-lang-fr/email .
rm vaultwarden-lang-fr-main/ main.zip -rf
```
## Liens
- [Documentation][documentation]

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
vaultwarden:
depends_on:

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
services:
vaultwarden:
environment:

View File

@@ -0,0 +1,25 @@
---
services:
vaultwarden:
environment:
SSO_ENABLED: ${SSO_ENABLED:-true}
SSO_ONLY: ${SSO_ONLY:-true}
SSO_SIGNUPS_MATCH_EMAIL: ${SSO_SIGNUPS_MATCH_EMAIL:-true}
SSO_AUTHORITY: ${SSO_AUTHORITY}
SSO_SCOPES: ${SSO_SCOPES:-email groups profile offline_access}
SSO_AUTHORIZE_EXTRA_PARAMS: ${SSO_AUTHORIZE_EXTRA_PARAMS:-}
SSO_PKCE: ${SSO_PKCE:-false}
SSO_CLIENT_ID: ${SSO_CLIENT_ID}
SSO_CLIENT_SECRET: ${SSO_CLIENT_SECRET}
# SSO_MASTER_PASSWORD_POLICY: ${SSO_MASTER_PASSWORD_POLICY:-}
SSO_AUTH_ONLY_NOT_SESSION: ${SSO_AUTH_ONLY_NOT_SESSION:-false}
SSO_CLIENT_CACHE_EXPIRATION: ${SSO_CLIENT_CACHE_EXPIRATION:-0}
SSO_DEBUG_TOKENS: ${SSO_DEBUG_TOKENS:-false}
SSO_FRONTEND: ${SSO_FRONTEND:-override}
# SSO_EXPERIMENTAL_NO_MASTER_PWD: ${SSO_EXPERIMENTAL_NO_MASTER_PWD:-false}
SSO_ROLES_ENABLED: ${SSO_ROLES_ENABLED:-false}
SSO_ROLES_DEFAULT_TO_USER: ${SSO_ROLES_DEFAULT_TO_USER:-false}
SSO_ORGANIZATIONS_INVITE: ${SSO_ORGANIZATIONS_INVITE:-false}

View File

@@ -0,0 +1,12 @@
---
services:
vaultwarden:
labels:
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}.tls.certResolver=letsencrypt
# redirect HTTP to HTTPS
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}_http.rule=Host(`${SERVICE_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}_http.entrypoints=web
- traefik.http.middlewares.${TRAEFIK_ROUTER_NAME:-vaultwarden}_redirect_https.redirectscheme.scheme=https
- traefik.http.middlewares.${TRAEFIK_ROUTER_NAME:-vaultwarden}_redirect_https.redirectscheme.permanent=true
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}_http.middlewares=${TRAEFIK_ROUTER_NAME:-vaultwarden}_redirect_https

View File

@@ -1,7 +1,5 @@
---
version: "3.8"
networks:
default:
name: ${TRAEFIK_NETWORK_NAME:-traefik}
@@ -12,5 +10,5 @@ services:
labels:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}.rule=Host(`${VAULTWARDEN_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}.rule=Host(`${SERVICE_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}

View File

@@ -1,22 +1,26 @@
---
version: "3.8"
volumes:
vaultwarden:
name: ${VAULTWARDEN_VOLUME_NAME:-vaultwarden}
services:
vaultwarden:
image: ${VAULTWARDEN_IMAGE:-vaultwarden/server:1.27.0-alpine}
image: ${VAULTWARDEN_IMAGE:-vaultwarden/server:1.34.1-alpine}
container_name: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden}
restart: always
environment:
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN:?err}
DOMAIN: https://${VAULTWARDEN_DOMAIN:?err}
DOMAIN: https://${SERVICE_DOMAIN:?err}
SENDS_ALLOWED: ${SENDS_ALLOWED:-true}
TRASH_AUTO_DELETE_DAYS: ${TRASH_AUTO_DELETE_DAYS:-}
DISABLE_ICON_DOWNLOAD: ${DISABLE_ICON_DOWNLOAD:-false}
SIGNUPS_ALLOWED: ${VAULTWARDEN_SIGNUPS_ALLOWED:-true}
SIGNUPS_VERIFY: ${SIGNUPS_VERIFY:-false}
SIGNUPS_DOMAINS_WHITELIST: ${SIGNUPS_DOMAINS_WHITELIST:-}
INVITATION_ORG_NAME: ${VAULTWARDEN_INVITATION_ORG_NAME:-Vaultwarden}
LOG_LEVEL: ${VAULTWARDEN_LOG_LEVEL:-Info}
SIGNUPS_ALLOWED: ${VAULTWARDEN_SIGNUPS_ALLOWED:-true}
ORG_GROUPS_ENABLED: ${VAULTWARDEN_ORG_GROUPS_ENABLED:-false}
volumes:
- vaultwarden:/data
- /etc/timezone:/etc/timezone:ro

View File

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

View File

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

View File

@@ -1,6 +1,11 @@
version: "3.8"
---
services:
vikunja:
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,17 @@
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,22 +3,17 @@ version: "3.8"
# https://vikunja.io/docs/config-options/#database
services:
vikunja:
vikunja_api:
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_SSLCERT: ${VIKUNJA_DATABASE_SSLCERT}
VIKUNJA_DATABASE_SSLKEY: ${VIKUNJA_DATABASE_SSLKEY}
VIKUNJA_DATABASE_SSLROOTCERT: ${VIKUNJA_DATABASE_SSLROOTCERT}
VIKUNJA_DATABASE_TLS: ${VIKUNJA_DATABASE_TLS:-false}
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

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

View File

@@ -1,13 +1,16 @@
version: "3.8"
---
# https://vikunja.io/docs/config-options/#redis
services:
vikunja:
vikunja_api:
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

@@ -1,19 +1,18 @@
version: "3.8"
---
# https://vikunja.io/docs/config-options/#mailer
services:
vikunja:
vikunja_api:
environment:
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_ENABLED: ${VIKUNJA_MAILER_ENABLED:-true}
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

@@ -1,4 +1,4 @@
version: "3.8"
---
networks:
default:
@@ -8,9 +8,15 @@ networks:
# https://vikunja.io/docs/full-docker-example/#example-with-traefik-2
services:
vikunja:
vikunja_api:
labels:
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}.rule=Host(`${VIKUNJA_DOMAIN:?err}`)
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
- 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}

View File

@@ -1,10 +0,0 @@
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

@@ -1,4 +1,4 @@
version: "3.8"
---
# https://vikunja.io/docs/config-options
# https://vikunja.io/docs/full-docker-example/
@@ -8,31 +8,19 @@ volumes:
name: ${VIKUNJA_VOLUME_NAME:-vikunja}
services:
vikunja:
container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}
image: ${VIKUNJA_IMAGE:-vikunja/vikunja:0.23.0}
vikunja_api:
container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_api
image: ${VIKUNJA_API_IMAGE:-vikunja/api:0.21.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_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_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}
@@ -42,60 +30,22 @@ 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_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_FRONTENDURL: ${VIKUNJA_SERVICE_FRONTENDURL:?err}
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_TIMEZONE: ${VIKUNJA_SERVICE_TIMEZONE:-GMT}
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}
VIKUNJA_SERVICE_ROOTPATH: ${VIKUNJA_SERVICE_ROOTPATH:-/app/vikunja/}
PUID: ${VIKUNJA_PUID:-1000}
PGID: ${VIKUNJA_PGID:-1000}
@@ -103,3 +53,9 @@ 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