diff --git a/README.md b/README.md index 065f41f..ee1b9dd 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,19 @@ 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 -- [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 -- [Plausible](./plausible) : Plausible est une plateforme d'analyse Web légère et open source -- [Vaultwarden](./vaultwarden) : Gestionnaire de mot de passe compatible avec Bitwarden -- [Vikunja](./vikunja) : L'application pour organiser sa vie ### Pour les devs / ops -- [ClickHouse](./clickhouse) : Un logiciel libre de base de données orientée colonnes pour le traitement analytique en ligne - [Drone](./drone) : Un service d'intégration continue -- [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. +- [Gitea](./gitea) : Un service Git auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab. - [Grafana](./grafana) : Un outil de supervision simple et élégant - [PostgreSQL](./postgres) : PostgreSQL est un système de gestion de base de données relationnelle et objet. - [Prometheus](./prometheus) : Un logiciel de surveillance informatique - [Redis](./redis) : Système de gestion de base de données clé-valeur extensible, très hautes performances - [Registry Docker](./registry) : Une application qui permet de distribuer des images Docker - [Traefik](./traefik) : Traefik, un reverse-proxy pour vos conteneurs -- [Uptime Kuma](./uptimekuma) : outil de surveillance de site ou service WEB - [Watchtower](./watchtower) : Automatiser la mise à jour d'image docker ## Comment ça marche ? diff --git a/clickhouse/.env b/clickhouse/.env deleted file mode 100644 index f3216ca..0000000 --- a/clickhouse/.env +++ /dev/null @@ -1,3 +0,0 @@ -#CLICKHOUSE_VOLUME_NAME= -#CLICKHOUSE_CONTAINER_NAME= -#CLICKHOUSE_IMAGE= diff --git a/clickhouse/README.md b/clickhouse/README.md deleted file mode 100644 index 54182f5..0000000 --- a/clickhouse/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# ClickHouse - -> ClickHouse est un logiciel libre de base de données orientée colonnes (DBMS) pour le traitement analytique en ligne (OLAP). -> -> [Wikipédia][wikipedia] - -## Liens - -- [Site Officiel][site] -- [Code source][source] -- [Docker Hub][dockerhub] - -[wikipedia]: https://fr.wikipedia.org/wiki/ClickHouse -[site]: https://clickhouse.com/ -[source]: https://github.com/ClickHouse/ClickHouse -[dockerhub]: https://hub.docker.com/r/clickhouse/clickhouse-server diff --git a/clickhouse/docker-compose.yml b/clickhouse/docker-compose.yml deleted file mode 100644 index f22b192..0000000 --- a/clickhouse/docker-compose.yml +++ /dev/null @@ -1,19 +0,0 @@ -version: "3.8" - -volumes: - clickhouse: - name: ${CLICKHOUSE_VOLUME_NAME:-clickhouse} - -services: - clickhouse: - container_name: ${CLICKHOUSE_CONTAINER_NAME:-clickhouse} - image: ${CLICKHOUSE_IMAGE:-clickhouse/clickhouse-server:22.2.2.1-alpine} - restart: always - volumes: - - clickhouse:/var/lib/clickhouse - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - ulimits: - nofile: - soft: 262144 - hard: 262144 diff --git a/directus/.env b/directus/.env index b97bdd4..fd81f08 100644 --- a/directus/.env +++ b/directus/.env @@ -44,9 +44,7 @@ POSTGRES_VOLUME_NAME=directus-postgres ####### # REDIS -#REDIS_IMAGE= #REDIS_CONTAINER_NAME= -#REDIS_VOLUME_NAME= ######### # TRAEFIK diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index 1422d1d..e19e469 100644 --- a/directus/docker-compose.yml +++ b/directus/docker-compose.yml @@ -9,10 +9,12 @@ volumes: services: directus: container_name: ${DIRECTUS_CONTAINER_NAME:-directus} - image: ${DIRECTUS_IMAGE:-directus/directus:9.8.0} + image: ${DIRECTUS_IMAGE:-directus/directus:9.5.1@sha256:c21099315f8720a12c65eea30b7450a96845ba17e9313e95a3fd23867b96c289} restart: always volumes: - directus:/directus/uploads + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro depends_on: - postgres - redis @@ -32,7 +34,5 @@ services: DB_USER: ${POSTGRES_USER:?err} DB_PASSWORD: ${POSTGRES_PASSWORD:?err} - TZ: ${TZ:-Europe/Paris} - PUID: ${DIRECTUS_PUID:-1000} PGID: ${DIRECTUS_PGID:-1000} diff --git a/drone/runner/docker-compose.yml b/drone/runner/docker-compose.yml index fcfd73b..6cdb98b 100644 --- a/drone/runner/docker-compose.yml +++ b/drone/runner/docker-compose.yml @@ -7,7 +7,7 @@ version: "3.8" services: drone-runner: container_name: ${DRONE_RUNNER_CONTAINER_NAME} - image: ${DRONE_RUNNER_IMAGE:-drone/drone-runner-docker:1.8.0} + image: ${DRONE_RUNNER_IMAGE:-drone/drone-runner-docker:1.8.0@sha256:70da970bb76a62567edbea1ac8002d9484664267f4cbb49fbd7c87a753d02260} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock diff --git a/drone/server/docker-compose.yml b/drone/server/docker-compose.yml index ae49725..daa903a 100644 --- a/drone/server/docker-compose.yml +++ b/drone/server/docker-compose.yml @@ -9,7 +9,7 @@ volumes: services: drone-server: container_name: ${DRONE_SERVER_CONTAINER_NAME:-drone-server} - image: ${DRONE_SERVER_IMAGE:-drone/drone:2.11.1} + image: ${DRONE_SERVER_IMAGE:-drone/drone:2.9.1@sha256:674e62c62cf41e06773c1b5e89687f1d514d49db6d1bb78678a5ef86927bc479} restart: always environment: # https://docs.drone.io/server/reference/drone-rpc-secret/ diff --git a/geoipupdate/.env b/geoipupdate/.env deleted file mode 100644 index 78546bd..0000000 --- a/geoipupdate/.env +++ /dev/null @@ -1,10 +0,0 @@ -#GEOIPUPDATE_VOLUME_NAME= -#GEOIPUPDATE_IMAGE= -#GEOIPUPDATE_CONTAINER_NAME= - -GEOIPUPDATE_ACCOUNT_ID= -GEOIPUPDATE_LICENSE_KEY= -#GEOIPUPDATE_EDITION_IDS= -#GEOIPUPDATE_FREQUENCY= -#GEOIPUPDATE_VERBOSE= -#GEOIPUPDATE_DB_DIR= diff --git a/geoipupdate/README.md b/geoipupdate/README.md deleted file mode 100644 index 7efc7fc..0000000 --- a/geoipupdate/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# HedgeDoc - -> Permet de télécharger la base de données GeoIP2 permettant de localiser les IPs - -## Liens - -- [Site officiel][website] -- [Github][github] -- [L'image Docker de LinuxServer][docker] - -[website]: https://www.maxmind.com/en/home -[docker]: https://hub.docker.com/r/maxmindinc/geoipupdate -[github]: https://github.com/maxmind/geoipupdate -[documentation]: https://dev.maxmind.com/geoip/updating-databases diff --git a/geoipupdate/docker-compose.yml b/geoipupdate/docker-compose.yml deleted file mode 100644 index 9e83d1e..0000000 --- a/geoipupdate/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- - -version: "3.8" - -volumes: - geoipupdate: - name: ${GEOIPUPDATE_VOLUME_NAME:-geoipupdate} - -services: - geoipupdate: - image: ${GEOIPUPDATE_IMAGE:-maxmindinc/geoipupdate:v4.9.0} - container_name: ${GEOIPUPDATE_CONTAINER_NAME:-geoip-updater} - restart: always - volumes: - - geoipupdate:${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP} - environment: - GEOIPUPDATE_ACCOUNT_ID: ${GEOIPUPDATE_ACCOUNT_ID:?err} - GEOIPUPDATE_LICENSE_KEY: ${GEOIPUPDATE_LICENSE_KEY:?err} - GEOIPUPDATE_EDITION_IDS: ${GEOIPUPDATE_EDITION_IDS:-GeoLite2-City} - GEOIPUPDATE_FREQUENCY: ${GEOIPUPDATE_FREQUENCY:-72} - GEOIPUPDATE_VERBOSE: ${GEOIPUPDATE_VERBOSE:-false} - GEOIPUPDATE_DB_DIR: ${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP} diff --git a/gitea/.env b/gitea/.env index 2b34046..3db8400 100644 --- a/gitea/.env +++ b/gitea/.env @@ -1,34 +1,26 @@ -######## -# DOCKER +COMPOSE_FILE=../postgres/docker-compose.yml:./docker-compose.yml:./docker-compose.override.yml -SERVICES_DIR=".." -COMPOSE_FILE=${SERVICES_DIR}/gitea/docker-compose.yml:${SERVICES_DIR}/gitea/docker-compose.traefik.yml:${SERVICES_DIR}/gitea/docker-compose.smtp.yml:${SERVICES_DIR}/gitea/docker-compose.metrics.yml:${SERVICES_DIR}/postgres/docker-compose.yml -COMPOSE_PROJECT_NAME=$GITEA_DOMAIN +# APP -####### -# GITEA +GITEA_VOLUME_NAME=gitea +GITEA_PROTOCOL=http +GITEA_DOMAIN=gitea.lan + +# APP CONFIG # https://docs.gitea.io/en-us/install-with-docker/#environments-variables -GITEA_DOMAIN=gitea.lan -GITEA_VOLUME_NAME=gitea -GITEA_IMAGE=gitea/gitea:1.18.4 -GITEA_PROTOCOL=http -GITEA_SECRET_KEY=kt5UdK0m9lI9MDyhVOFEB5jk7VwFynDyaxcUjEJUpWJBrC6FyH4dkUDKLYEa7hGn -GITEA_INTERNAL_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2NzY5NzkxMzZ9.Iopu6DBUhglmNPzEyYylfmTmEUpYLHYEsNrm50GoBkU - -# SMTP - -GITEA__mailer__FROM='"Name" ' -GITEA__mailer__SMTP_ADDR=smtp.gitea.lan -GITEA__mailer__SMTP_PORT=465 -GITEA__mailer__USER=gitea.lan -GITEA__mailer__PASSWD=gitea.lan +DISABLE_SSH=true +RUN_MODE=prod +ROOT_URL=${GITEA_PROTOCOL}://${GITEA_DOMAIN} +DISABLE_REGISTRATION=true +DISABLE_GRAVATAR=true +#INSTALL_LOCK=true # DATABASE +# Voir la description ../postgres/README.md POSTGRES_USER=user-example POSTGRES_PASSWORD=password-example POSTGRES_DB=postgres-database-name-example POSTGRES_CONTAINER_NAME=gitea-postgres POSTGRES_VOLUME_NAME=gitea-postgres -POSTGRES_IMAGE=postgres:15.2-alpine diff --git a/gitea/docker-compose.smtp.yml b/gitea/docker-compose.smtp.yml index af25854..fa37a1a 100644 --- a/gitea/docker-compose.smtp.yml +++ b/gitea/docker-compose.smtp.yml @@ -4,11 +4,9 @@ services: gitea: environment: - GITEA__mailer__ENABLED=true - - GITEA__mailer__PROTOCOL=${GITEA__mailer__PROTOCOL:-smtp} - - GITEA__mailer__SMTP_ADDR=${GITEA__mailer__SMTP_ADDR:?GITEA__mailer__SMTP_ADDR not set} - - GITEA__mailer__SMTP_PORT=${GITEA__mailer__SMTP_PORT:?GITEA__mailer__SMTP_PORT not set} - + - GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set} + - GITEA__mailer__MAILER_TYPE=smtp + - GITEA__mailer__HOST=${GITEA__mailer__HOST:?GITEA__mailer__HOST not set} + - GITEA__mailer__IS_TLS_ENABLED=true - GITEA__mailer__USER=${GITEA__mailer__USER:?GITEA__mailer__USER not set} - GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}""" - - - GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set} diff --git a/gitea/docker-compose.traefik.yml b/gitea/docker-compose.traefik.yml index f3a5562..b4b8447 100644 --- a/gitea/docker-compose.traefik.yml +++ b/gitea/docker-compose.traefik.yml @@ -7,8 +7,10 @@ networks: services: gitea: labels: - - traefik.enable=true - - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-gitea}.rule=Host(`${GITEA_DOMAIN:?err}`) - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-gitea}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} - - traefik.http.services.${TRAEFIK_ROUTER_NAME:-gitea}.loadbalancer.server.port=3000 + traefik.enable: 'true' + traefik.docker.network: ${TRAEFIK_NETWORK_NAME:-traefik} + + traefik.http.routers.gitea.rule: 'Host(`${GITEA_DOMAIN:?err}`)' + traefik.http.routers.gitea.entrypoints: 'web' + + traefik.http.services.gitea.loadbalancer.server.port: '3000' diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index f30608b..7014e8c 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -7,22 +7,16 @@ volumes: services: gitea: container_name: ${GITEA_CONTAINER_NAME:-gitea} - image: ${GITEA_IMAGE:-gitea/gitea:1.18.4} + image: ${GITEA_IMAGE:-gitea/gitea:1.16.1@sha256:bd36095359861e6970705a70d58ae0536f92f0d3f2d25c18ed663e94380c546a} restart: always environment: - - USER_UID=${GITEA_UID:-1000} - - USER_GID=${GITEA_GID:-1000} - # Database - - GITEA__database__DB_TYPE=postgres - - GITEA__database__HOST=${POSTGRES_CONTAINER_NAME:-postgres}:5432 - - GITEA__database__NAME=${POSTGRES_DB} - - GITEA__database__USER=${POSTGRES_USER} - - GITEA__database__PASSWD=${POSTGRES_PASSWORD} - # Security - # docker run -it --rm gitea/gitea:1 gitea generate secret SECRET_KEY - - GITEA__security__SECRET_KEY=${GITEA_SECRET_KEY} - # docker run -it --rm gitea/gitea:1 gitea generate secret INTERNAL_TOKEN - - GITEA__security__INTERNAL_TOKEN=${GITEA_INTERNAL_TOKEN} + # - USER_UID=1000 + # - USER_GID=1000 + DB_TYPE: postgres + DB_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}:5432 # Default name is same as ../postgres/docker-compose.yml:8 + DB_NAME: ${POSTGRES_DB} + DB_USER: ${POSTGRES_USER} + DB_PASSWD: ${POSTGRES_PASSWORD} volumes: - gitea:/data - /etc/timezone:/etc/timezone:ro diff --git a/grafana/.env b/grafana/.env index 866aef5..a7ee3e6 100644 --- a/grafana/.env +++ b/grafana/.env @@ -34,10 +34,6 @@ GF_INSTALL_PLUGINS=grafana-piechart-panel ####### # REDIS -#REDIS_IMAGE= -#REDIS_CONTAINER_NAME= -#REDIS_VOLUME_NAME= - #GF_REMOTE_CACHE_CONNSTR= ######### diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index 88aa1f9..e0e054a 100644 --- a/grafana/docker-compose.yml +++ b/grafana/docker-compose.yml @@ -8,7 +8,7 @@ volumes: services: grafana: container_name: ${GRAFANA_CONTAINER_NAME:-grafana} - image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.6} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.1@sha256:c97cdf5f24c6a8a618ec416c7c9d3568f92e2b196f89e8c656e646c06d45975e} restart: always volumes: - grafana:/var/lib/grafana diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 204d0a2..142e092 100644 --- a/hedgedoc/docker-compose.yml +++ b/hedgedoc/docker-compose.yml @@ -7,12 +7,12 @@ volumes: services: hedgedoc: container_name: ${HEDGEDOC_CONTAINER_NAME:-hedgedoc} - image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.3-ls53} + image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.2-ls44@sha256:e3e0ec428e043104ec626a4c89e09baf61bc8939f8a28979bdadf3a4fa6f513f} restart: always depends_on: - postgres volumes: - - hedgedoc:/config/uploads + - hedgedoc:/opt/hedgedoc/public/uploads - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: diff --git a/listmonk/.env b/listmonk/.env deleted file mode 100644 index 0dea747..0000000 --- a/listmonk/.env +++ /dev/null @@ -1,26 +0,0 @@ -######## -# DOCKER - -#DOCKER_CONTEXT= -#DOCKER_HOST= -SERVICES_DIR=.. -COMPOSE_FILE=${SERVICES_DIR}/listmonk/docker-compose.yml:${SERVICES_DIR}/postgres/docker-compose.yml -#COMPOSE_PROJECT_NAME= - -## APP - -LISTMONK_DOMAIN=localhost -LISTMONK_ADMIN_USERNAME= -LISTMONK_ADMIN_PASSWORD= -#LISTMONK_CONTAINER_NAME=listmonk -#LISTMONK_VOLUME_NAME=listmonk -#LISTMONK_IMAGE=listmonk/listmonk:v2.3.0 - -## POSTGRES - -#POSTGRES_VOLUME_NAME= -#POSTGRES_CONTAINER_NAME= -#POSTGRES_IMAGE= -POSTGRES_USER=listmonk -POSTGRES_PASSWORD=listmonk -POSTGRES_DB=listmonk diff --git a/listmonk/README.md b/listmonk/README.md deleted file mode 100644 index 50c403a..0000000 --- a/listmonk/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# listmonk - -> Gestionnaire de listes de diffusion et de newsletter - -## Documentation - -listmonk ne gère actuellement pas le multicompte. - -Pour utiliser avec une configuration avec les variables d'environnements il faut la commande suivante : - -``` -command: [sh, -c, "./listmonk --config ''"] -``` - -Pour l'installation il faut lancer la commande suivante pour initialiser la base de donnée : - -``` -command: [sh, -c, "yes | ./listmonk --install --config '' && ./listmonk --config ''"] -``` - -Pour faire les mise à jour et ainsi migrer la base de donnée : - -``` -command: [sh, -c, "yes | ./listmonk --upgrade --config '' && ./listmonk --config ''"] -``` - -## Liens - -- [Site Officiel][site] -- [Documentation][documentation] -- [Code source][source] -- [Docker Hub][dockerhub] - -[site]: https://listmonk.app/ -[source]: https://github.com/knadh/listmonk -[documentation]: https://listmonk.app/docs/ -[dockerhub]: https://hub.docker.com/r/listmonk/listmonk diff --git a/listmonk/docker-compose.yml b/listmonk/docker-compose.yml deleted file mode 100644 index 9732d9a..0000000 --- a/listmonk/docker-compose.yml +++ /dev/null @@ -1,40 +0,0 @@ -version: "3.8" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME:-traefik} - -volumes: - listmonk: - name: ${LISTMONK_VOLUME_NAME:-listmonk} - -services: - listmonk: - container_name: ${LISTMONK_CONTAINER_NAME:-listmonk} - image: ${LISTMONK_IMAGE:-listmonk/listmonk:v2.3.0} - restart: always - #command: [sh, -c, "yes | ./listmonk --install --config '' && ./listmonk --config ''"] - #command: [sh, -c, "yes | ./listmonk --upgrade --config '' && ./listmonk --config ''"] - command: [sh, -c, "./listmonk --config ''"] - depends_on: - - postgres - environment: - LISTMONK_app__address: 0.0.0.0:9000 - LISTMONK_app__admin_username: ${LISTMONK_ADMIN_USERNAME:?err} - LISTMONK_app__admin_password: ${LISTMONK_ADMIN_PASSWORD:?err} - LISTMONK_db__host: ${POSTGRES_CONTAINER_NAME:?err} - LISTMONK_db__port: 5432 - LISTMONK_db__user: ${POSTGRES_USER:?err} - LISTMONK_db__password: ${POSTGRES_PASSWORD:?err} - LISTMONK_db__database: ${POSTGRES_DB:?err} - LISTMONK_db__ssl_mode: disable - TZ: Europe/Paris - volumes: - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - - listmonk:/listmonk/uploads - labels: - - traefik.enable=true - - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-listmonk}.rule=Host(`${LISTMONK_DOMAIN:?err}`) - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-listmonk}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/mobilizon/docker-compose.yml b/mobilizon/docker-compose.yml index 7a29ec5..2317e3b 100644 --- a/mobilizon/docker-compose.yml +++ b/mobilizon/docker-compose.yml @@ -9,7 +9,7 @@ volumes: services: mobilizon: container_name: ${MOBILIZON_CONTAINER_NAME:-mobilizon} - image: ${MOBILIZON_IMAGE:-framasoft/mobilizon:2.0.2} + image: ${MOBILIZON_IMAGE:-framasoft/mobilizon:2.0.2@sha256:a703d399c35b3b685be7c154bf2ac74f5acd88d8c28dd42f05f68859d76edfd3} restart: always depends_on: - postgres diff --git a/nextcloud/.env b/nextcloud/.env index 15a8d09..fd8e2e1 100644 --- a/nextcloud/.env +++ b/nextcloud/.env @@ -4,7 +4,7 @@ #DOCKER_CONTEXT= #DOCKER_HOST= SERVICES_DIR=.. -COMPOSE_FILE=${SERVICES_DIR}/nextcloud/docker-compose.yml:${SERVICES_DIR}/nextcloud/docker-compose.config.yml:${SERVICES_DIR}/nextcloud/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/redis/docker-compose.yml +COMPOSE_FILE=${SERVICES_DIR}/nextcloud/docker-compose.yml:${SERVICES_DIR}/nextcloud/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/redis/docker-compose.yml #COMPOSE_PROJECT_NAME= ## APP @@ -39,9 +39,7 @@ POSTGRES_VOLUME_NAME=nextcloud-postgres ####### # REDIS -#REDIS_IMAGE= REDIS_CONTAINER_NAME=nextcloud-redis -#REDIS_VOLUME_NAME= ######### # TRAEFIK diff --git a/nextcloud/README.md b/nextcloud/README.md index 0aca8d8..2f04a15 100644 --- a/nextcloud/README.md +++ b/nextcloud/README.md @@ -14,78 +14,45 @@ On peut trouver [la documentation ici][documentation] en anglais ou ici pour la ## Aide -Commande pour se connecter à un serveur : +Exemple de commande : ```sh -. .env -docker exec --user www-data -it ${NEXTCLOUD_CONTAINER_NAME}-fpm ash -``` +docker exec --user www-data -it nextcloud bash -Pour mettre un site en maintenance : - -```sh -. .env -docker exec --user www-data -it ${NEXTCLOUD_CONTAINER_NAME}-fpm php occ maintenance:mode --on +docker-compose exec --user www-data nextcloud php occ db:add-missing-primary-keys ``` ## Configuration -Il est possible de configurer certaines parties avec des variables d'environnement : -- Soit les variables sont spécifique à l'image Docker -- soit avec des variables du type `NC_` + clé (exemple : NC_default_phone_region=FR) +Il est possible de configurer certaines parties avec des variables d'environnement, mais ce n'est pas le cas de l'ensemble de la configuration. -### Création d'un groupe +Voici les modifications que j'effectue : ``` -export NC_GROUP=com-en-aubrac -php occ group:add $NC_GROUP +docker-compose exec --user www-data nextcloud-fpm ash +vi config/config.php +``` +Ajout de la configuration suivante : +``` + 'default_language' => 'fr', + 'default_locale' => 'fr_FR', + 'default_phone_region' => 'FR', + 'defaultapp' => 'files', + 'preview_max_x' => 2048, + 'preview_max_y' => 2048, + 'jpeg_quality' => 60, ``` -### Création d'un utilisateur - +Ajout de imagemagick : ``` -# La variable OC_PASS est spécifique pour l'utilisation de --password-from-env -export OC_PASS=unmotdepasse! - -export NC_USER=simon -export NC_NAME=Simon -export NC_MAIL=simon@example.org -export NC_QUOTA="180 GB" - -php occ user:add --password-from-env --display-name=$NC_NAME --group="$NC_GROUP" $NC_USER -php occ user:setting $NC_USER settings email $NC_MAIL +docker-compose exec nextcloud-fpm apk add --no-cache imagemagick ``` -### Quota - -Pour bien comprendre les quotas dans Nextcloud : https://docs.nextcloud.com/server/latest/user_manual/en/files/quota.html +ou ``` -export NC_USER=simon -export NC_QUOTA="10 GB" -php occ user:setting $NC_USER files quota "$NC_QUOTA" -``` - -### imagemagick - -> Le module php-imagick n’a aucun support SVG dans cette instance. Pour une meilleure compatibilité, il est recommandé de l’installer. - -Pour résoudre ce problème il faut ajouter le paquet `imagemagick` - -``` -. .env -docker exec -it ${NEXTCLOUD_CONTAINER_NAME}-fpm apk add --no-cache imagemagick -``` - -## Application - -Suppression d'application : - -``` -php occ app:disable dashboard -php occ app:disable photos -php occ app:disable weather_status -php occ app:disable user_status +ssh +docker exec nextcloud-fpm apk add --no-cache imagemagick ``` ## PHP-FPM: remédier à server reached pm.max_children diff --git a/nextcloud/docker-compose.config.yml b/nextcloud/docker-compose.config.yml deleted file mode 100644 index f7491ce..0000000 --- a/nextcloud/docker-compose.config.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -version: "3.8" - -services: - nextcloud-fpm: - environment: - &nextcloud-configuration - NC_trashbin_retention_obligation: ${NC_trashbin_retention_obligation:-auto, 30} - NC_force_language: ${NC_force_language:-fr} - NC_default_locale: ${NC_default_locale:-fr_FR} - NC_force_locale: ${NC_force_locale:-fr_FR} - NC_default_language: ${NC_default_language:-fr} - NC_default_phone_region: ${NC_default_phone_region:-FR} - NC_defaultapp: ${NC_defaultapp:-files} - NC_preview_max_x: ${NC_preview_max_x:-2048} - NC_preview_max_y: ${NC_preview_max_y:-2048} - NC_jpeg_quality: ${NC_jpeg_quality:-60} - - nextcloud-cron: - environment: - <<: *nextcloud-configuration diff --git a/nextcloud/docker-compose.smtp.yml b/nextcloud/docker-compose.smtp.yml index 60136d8..b8a880f 100644 --- a/nextcloud/docker-compose.smtp.yml +++ b/nextcloud/docker-compose.smtp.yml @@ -3,16 +3,11 @@ version: "3.8" services: nextcloud-fpm: environment: - &smtp-configuration - NC_mail_smtphost: ${NC_mail_smtphost:?err} # The hostname of the SMTP server. - NC_mail_smtpsecure: ${NC_mail_smtpsecure:-ssl} # Set to ssl to use SSL, or tls to use STARTTLS. - NC_mail_smtpport: ${NC_mail_smtpport:-465} - NC_mail_smtpauthtype: ${NC_mail_smtpauthtype:-LOGIN} - NC_mail_smtpname: ${NC_mail_smtpname:?err} - NC_mail_smtppassword: ${NC_mail_smtppassword:?err} - NC_mail_from_address: ${NC_mail_from_address:?err} - NC_mail_domain: ${NC_mail_domain:?err} - - nextcloud-cron: - environment: - <<: *smtp-configuration + SMTP_HOST: ${SMTP_HOST?err} # The hostname of the SMTP server. + SMTP_SECURE: ${SMTP_SECURE:-ssl} # Set to ssl to use SSL, or tls to use STARTTLS. + SMTP_PORT: ${SMTP_PORT:-465} + SMTP_AUTHTYPE: ${SMTP_AUTHTYPE:-LOGIN} + SMTP_NAME: ${SMTP_NAME?err} + SMTP_PASSWORD: ${SMTP_PASSWORD?err} + MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS} + MAIL_DOMAIN: ${MAIL_DOMAIN} diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 351eb38..3050e3e 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: nextcloud-fpm: container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-fpm - image: ${NEXTCLOUD_IMAGE:-nextcloud:25.0.2-fpm-alpine} + image: ${NEXTCLOUD_IMAGE:-nextcloud:23.0.2-fpm-alpine@sha256:a9dec35fab6e244a7916afd6b6f738f26590ff8c94356406f34e5a3ea30bb8be} restart: always depends_on: - postgres @@ -17,7 +17,6 @@ services: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: - &fpm-configuration NEXTCLOUD_TRUSTED_DOMAINS: ${NEXTCLOUD_TRUSTED_DOMAINS?err} NEXTCLOUD_ADMIN_USER: ${NEXTCLOUD_ADMIN_USER?err} NEXTCLOUD_ADMIN_PASSWORD: ${NEXTCLOUD_ADMIN_PASSWORD?err} @@ -33,7 +32,7 @@ services: nextcloud-web: container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-web - build: ${SERVICES_DIR}/nextcloud/web + build: web restart: always environment: NEXTCLOUD_FPM_CONTAINER_NAME: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-fpm @@ -47,14 +46,15 @@ services: - /etc/localtime:/etc/localtime:ro nextcloud-cron: - image: ${NEXTCLOUD_IMAGE:-nextcloud:25.0.2-fpm-alpine} + image: ${NEXTCLOUD_IMAGE:-nextcloud:22.2.3-fpm-alpine} container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-cron restart: always depends_on: - nextcloud-web entrypoint: /cron.sh environment: - <<: *fpm-configuration + PUID: ${NEXTCLOUD_PUID:-1000} + PGID: ${NEXTCLOUD_PGID:-1000} volumes: - nextcloud:/var/www/html - /etc/timezone:/etc/timezone:ro diff --git a/nextcloud/run b/nextcloud/run new file mode 100755 index 0000000..a98ccba --- /dev/null +++ b/nextcloud/run @@ -0,0 +1,49 @@ +#!/bin/bash + +set -eu + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +. $DIR/../help.sh +. $DIR/../postgres/run --only-source + +nextcloud_help() { + echo "./run backup : Lancement de la sauvegarde de Nextcloud" + echo "./run restore : Restauration de la sauvegarde de Nextcloud" +} + +nextcloud_backup() { + script_env + BACKUP_DATE_DEFAULT=`date +%Y%m%d_%H%M%S` + BACKUP_DATE=${BACKUP_DATE:-$BACKUP_DATE_DEFAULT} + backup_folder_create + + POSTGRES_BACKUP_FILE=backups/${BACKUP_DATE}_${NEXTCLOUD_DOMAIN}_postgres.sql + docker-compose exec --user www-data nextcloud php occ maintenance:mode --on + postgres_backup + + docker run -it --rm -v $HOME/backups/${NEXTCLOUD_DOMAIN}:/backup --volumes-from nextcloud alpine:3.12.3 ash -c "cd /var/www/html && tar cvf /backup/${BACKUP_DATE}_${NEXTCLOUD_DOMAIN}_files.tar ." + docker-compose exec --user www-data nextcloud php occ maintenance:mode --off +} + +nextcloud_restore() { + script_env + + postgres_restore + docker run -it --rm -v $HOME/backups/${NEXTCLOUD_DOMAIN}:/backup -v nextcloud:/var/www/html alpine:3.12.3 ash -c "cd /var/www/html && tar xvf /backup/${BACKUP_DATE}_${NEXTCLOUD_DOMAIN}_files.tar --strip 1" +} + +if [ $# -ge 1 ]; then + if [ "${1}" == "backup" ]; then + script_start + nextcloud_backup + script_end + elif [ "${1}" == "restore" ]; then + script_start + nextcloud_restore + script_end + elif [ "${1}" != "--only-source" ]; then + nextcloud_help + fi +else + nextcloud_help +fi diff --git a/nextcloud/web/Dockerfile b/nextcloud/web/Dockerfile index 345321a..2cde763 100644 --- a/nextcloud/web/Dockerfile +++ b/nextcloud/web/Dockerfile @@ -1,3 +1,3 @@ -FROM nginx:1.23.3-alpine +FROM nginx:1.21.5-alpine COPY nextcloud.conf.template /etc/nginx/templates/default.conf.template diff --git a/plausible/.env b/plausible/.env deleted file mode 100644 index 80eebb8..0000000 --- a/plausible/.env +++ /dev/null @@ -1,71 +0,0 @@ -######## -# DOCKER - -#DOCKER_CONTEXT= -#DOCKER_HOST= -SERVICES_DIR=.. -COMPOSE_FILE=${SERVICES_DIR}/plausible/docker-compose.yml:${SERVICES_DIR}/plausible/docker-compose.clickhouse.yml:${SERVICES_DIR}/plausible/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/clickhouse/docker-compose.yml -#COMPOSE_PROJECT_NAME= - -## APP - -PLAUSIBLE_DOMAIN=localhost -BASE_URL=http://${PLAUSIBLE_DOMAIN}:8000 -#PLAUSIBLE_CONTAINER_NAME=plausible -#PLAUSIBLE_VOLUME_NAME=plausible -#PLAUSIBLE_IMAGE=plausible/analytics:v1.4.4 - -ADMIN_USER_NAME=example -ADMIN_USER_EMAIL=email@example.org -ADMIN_USER_PWD=change-me -SECRET_KEY_BASE=AFnMQwN54ovHIqCQQGFZX5gUFpgpxasCEnzQwQsyfZLPRbiwzDYAqYDJQlQM8SbmicVJr97axXaSCfXD9zSEQQ== -#DISABLE_AUTH= -#DISABLE_REGISTRATION= - -## POSTGRES - -#POSTGRES_VOLUME_NAME= -#POSTGRES_CONTAINER_NAME= -#POSTGRES_IMAGE= -POSTGRES_USER=user-example -POSTGRES_PASSWORD=password-example -POSTGRES_DB=plausible_dev - -## CLICKHOUSE - -#CLICKHOUSE_VOLUME_NAME= -#CLICKHOUSE_CONTAINER_NAME= -#CLICKHOUSE_IMAGE= - -## SMTP - -#MAILER_EMAIL= -#SMTP_HOST_ADDR= -#SMTP_HOST_PORT= -#SMTP_USER_NAME= -#SMTP_USER_PWD= -#SMTP_HOST_SSL_ENABLED= -#SMTP_RETRIES= - -## GOOGLE SEARCH CONSOLE - -#GOOGLE_CLIENT_ID= -#GOOGLE_CLIENT_SECRET= - -## GEOIPUPDATE - -#GEOIPUPDATE_VOLUME_NAME= -#GEOIPUPDATE_IMAGE= -#GEOIPUPDATE_CONTAINER_NAME= -#GEOIPUPDATE_ACCOUNT_ID= -#GEOIPUPDATE_LICENSE_KEY= -#GEOIPUPDATE_EDITION_IDS=GeoLite2-Country -#GEOIPUPDATE_FREQUENCY= -#GEOIPUPDATE_VERBOSE= -#GEOIPUPDATE_DB_DIR= - -## TRAEFIK - -#TRAEFIK_NETWORK_NAME= -#TRAEFIK_ROUTER_NAME= -#TRAEFIK_ENTRYPOINTS= diff --git a/plausible/README.md b/plausible/README.md deleted file mode 100644 index 30e97e1..0000000 --- a/plausible/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Plausible - -> Plausible est une plateforme d'analyse Web légère et open source. - -## Liens - -- [Site Officiel][site] -- [Documentation][documentation] -- [Code source][source] -- [Docker Hub][dockerhub] - -[site]: https://plausible.io/ -[source]: https://github.com/plausible/analytics -[documentation]: https://plausible.io/docs -[dockerhub]: https://hub.docker.com/r/plausible/analytics diff --git a/plausible/clickhouse-config.xml b/plausible/clickhouse-config.xml deleted file mode 100644 index ddd5f1c..0000000 --- a/plausible/clickhouse-config.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - warning - true - - - - - - - - - - diff --git a/plausible/clickhouse-user-config.xml b/plausible/clickhouse-user-config.xml deleted file mode 100644 index f795286..0000000 --- a/plausible/clickhouse-user-config.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - 0 - 0 - - - diff --git a/plausible/docker-compose.clickhouse.yml b/plausible/docker-compose.clickhouse.yml deleted file mode 100644 index 443d044..0000000 --- a/plausible/docker-compose.clickhouse.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: "3.8" - -services: - clickhouse: - volumes: - - ./clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro - - ./clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro diff --git a/plausible/docker-compose.geoip.yml b/plausible/docker-compose.geoip.yml deleted file mode 100644 index 6c9fe71..0000000 --- a/plausible/docker-compose.geoip.yml +++ /dev/null @@ -1,10 +0,0 @@ -version: "3.8" - -services: - plausible: - depends_on: - - geoipupdate - environment: - - GEOLITE2_COUNTRY_DB=/geoip/GeoLite2-Country.mmdb - volumes: - - geoipupdate:/geoip:ro diff --git a/plausible/docker-compose.google.yml b/plausible/docker-compose.google.yml deleted file mode 100644 index dfb4c6c..0000000 --- a/plausible/docker-compose.google.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: "3.8" - -services: - plausible: - environment: - GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:?err} - GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:?err} diff --git a/plausible/docker-compose.local.yml b/plausible/docker-compose.local.yml deleted file mode 100644 index f1ceb7f..0000000 --- a/plausible/docker-compose.local.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: "3.8" - -services: - plausible: - ports: - - ${LOCAL_PORT:-8000}:8000 diff --git a/plausible/docker-compose.smtp.yml b/plausible/docker-compose.smtp.yml deleted file mode 100644 index fc0dea5..0000000 --- a/plausible/docker-compose.smtp.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: "3.8" - -services: - plausible: - environment: - MAILER_EMAIL: ${MAILER_EMAIL:-hello@plausible.local} - SMTP_HOST_ADDR: ${SMTP_HOST_ADDR:-localhost} - SMTP_HOST_PORT: ${SMTP_HOST_PORT:-25} - SMTP_USER_NAME: ${SMTP_USER_NAME} - SMTP_USER_PWD: ${SMTP_USER_PWD} - SMTP_HOST_SSL_ENABLED: ${SMTP_HOST_SSL_ENABLED:-false} - SMTP_RETRIES: ${SMTP_RETRIES:-2} diff --git a/plausible/docker-compose.traefik.yml b/plausible/docker-compose.traefik.yml deleted file mode 100644 index 04cd7b6..0000000 --- a/plausible/docker-compose.traefik.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: "3.8" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME:-traefik} - -services: - plausible: - labels: - - traefik.enable=true - - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-plausible}.rule=Host(`${PLAUSIBLE_DOMAIN:?err}`) - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-plausible}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/plausible/docker-compose.yml b/plausible/docker-compose.yml deleted file mode 100644 index 1834df3..0000000 --- a/plausible/docker-compose.yml +++ /dev/null @@ -1,31 +0,0 @@ -version: "3.8" - -volumes: - plausible: - name: ${PLAUSIBLE_VOLUME_NAME:-plausible} - -services: - plausible: - container_name: ${PLAUSIBLE_CONTAINER_NAME:-plausible} - image: ${PLAUSIBLE_IMAGE:-plausible/analytics:v1.4.4} - restart: always - command: ${PLAUSIBLE_DOCKER_COMMAND:-sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"} - depends_on: - - clickhouse - - postgres - environment: - ADMIN_USER_NAME: ${ADMIN_USER_NAME:?err} - ADMIN_USER_EMAIL: ${ADMIN_USER_EMAIL:?err} - ADMIN_USER_PWD: ${ADMIN_USER_PWD:?err} - BASE_URL: ${BASE_URL} - SECRET_KEY_BASE: ${SECRET_KEY_BASE:?err} - DISABLE_AUTH: ${DISABLE_AUTH:-false} - DISABLE_REGISTRATION: ${DISABLE_REGISTRATION:-false} - DATABASE_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME:-postgres}:5432/${POSTGRES_DB:?err} - CLICKHOUSE_DATABASE_URL: http://${CLICKHOUSE_CONTAINER_NAME:-clickhouse}:8123/${CLICKHOUSE_CONTAINER_NAME:-clickhouse} - SITE_LIMIT: ${SITE_LIMIT:-3} - SELFHOST: ${SELFHOST:-true} - LOG_LEVEL: ${LOG_LEVEL:-warn} - volumes: - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro diff --git a/postgres/.env b/postgres/.env index 1b5f33e..74b5f0e 100644 --- a/postgres/.env +++ b/postgres/.env @@ -1,7 +1,3 @@ -#POSTGRES_VOLUME_NAME= -#POSTGRES_CONTAINER_NAME= -#POSTGRES_IMAGE= - POSTGRES_USER=user-example POSTGRES_PASSWORD=password-example POSTGRES_DB=postgres-database-name-example diff --git a/postgres/docker-compose.yml b/postgres/docker-compose.yml index 44e7d0a..70dd15c 100644 --- a/postgres/docker-compose.yml +++ b/postgres/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: postgres: container_name: ${POSTGRES_CONTAINER_NAME:-postgres} - image: ${POSTGRES_IMAGE:-postgres:14.2-alpine} + image: ${POSTGRES_IMAGE:-postgres:14.2-alpine@sha256:536bc3ad5d53f1b84db958be04013024aae70449c931943ad0a55c56c28f68b3} restart: always environment: POSTGRES_USER: ${POSTGRES_USER:?err} diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index b97b1e3..32e9f77 100644 --- a/prometheus/docker-compose.yml +++ b/prometheus/docker-compose.yml @@ -12,7 +12,7 @@ services: build: context: . args: - PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.34.0} + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.33.3@sha256:20c90b9a99b12b4349150e347811cc44dccdb05c291d385320be63dc12cce73b} volumes: - prometheus:/prometheus restart: always diff --git a/redis/docker-compose.yml b/redis/docker-compose.yml index cb0bd58..ed57335 100644 --- a/redis/docker-compose.yml +++ b/redis/docker-compose.yml @@ -1,18 +1,13 @@ version: "3.8" -volumes: - redis: - name: ${REDIS_VOLUME_NAME:-redis} - services: redis: - image: ${REDIS_IMAGE:-redis:6.2.6-alpine} + image: ${REDIS_IMAGE:-redis:6.2.6-alpine@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d} container_name: ${REDIS_CONTAINER_NAME:-redis} restart: always environment: PUID: ${REDIS_PUID:-1000} PGID: ${REDIS_PGID:-1000} volumes: - - redis:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro diff --git a/registry/README.md b/registry/README.md index 56deffa..a644b38 100644 --- a/registry/README.md +++ b/registry/README.md @@ -36,12 +36,6 @@ Pour se connecter : docker login https://$REGISTRY_DOMAIN ``` -## Nettoyer le registre - -```sh -docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml --delete-untagged=true -``` - ## Aide Pour connaître les images du registry : diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml index fd228a9..a6457ba 100644 --- a/registry/docker-compose.yml +++ b/registry/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: registry: container_name: ${REGISTRY_CONTAINER_NAME} - image: ${REGISTRY_IMAGE:-registry:2.8.1} + image: ${REGISTRY_IMAGE:-registry:2.8.0@sha256:c26590bcf53822a542e78fab5c88e1dfbcdee91c1882f4656b7db7b542d91d97} restart: always environment: REGISTRY_AUTH: htpasswd diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index f030402..de947d3 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -11,7 +11,7 @@ networks: services: traefik: container_name: ${TRAEFIK_CONTAINER_NAME:-traefik} - image: ${TRAEFIK_IMAGE:-traefik:v2.6.3} + image: ${TRAEFIK_IMAGE:-traefik:v2.6.1@sha256:9c248cbc8c7f53de29903b1875a6d188e736916a0ef040e18707279993f39fe9} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock @@ -30,6 +30,7 @@ services: - --log.level=${TRAEFIK_LOG_LEVEL:-INFO} - --global.sendanonymoususage=${TRAEFIK_GLOBAL_SENDANONYMOUSUSAGE:-false} - --global.checknewversion=${TRAEFIK_GLOBAL_CHECKNEWVERSION:-false} + - --pilot.dashboard=${TRAEFIK_PILOT_DASHBOARD:-false} - --metrics.prometheus=${TRAEFIK_METRICS_PROMETHEUS:-true} - --accesslog=${TRAEFIK_ACCESSLOG:-false} diff --git a/uptimekuma/.env b/uptimekuma/.env deleted file mode 100644 index a67d401..0000000 --- a/uptimekuma/.env +++ /dev/null @@ -1,20 +0,0 @@ -######## -# DOCKER - -SERVICES_DIR=".." -COMPOSE_FILE=${SERVICES_DIR}/uptimekuma/docker-compose.yml:${SERVICES_DIR}/uptimekuma/docker-compose.local.yml -# COMPOSE_PROJECT_NAME= - -## APP - -# UPTIMEKUMA_DOMAIN={{ UPTIMEKUMA_DOMAIN }} -UPTIMEKUMA_CONTAINER_NAME=uptimekuma -UPTIMEKUMA_VOLUME_NAME=uptimekuma -# UPTIMEKUMA_IMAGE= - -######### -# TRAEFIK - -# TRAEFIK_NETWORK_NAME= -# TRAEFIK_ROUTER_NAME= -# TRAEFIK_ENTRYPOINTS= diff --git a/uptimekuma/README.md b/uptimekuma/README.md deleted file mode 100644 index 0505ee5..0000000 --- a/uptimekuma/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Uptime Kuma - -> Uptime Kuma est un service pour surveiller des applications et services auto-hébergés. Il surveille le fonctionnement de services à travers des sondes HTTP(S), TCP, Ping, enregistrement DNS… sans limites. - -## Information - -- L'ensemble des variables d'environnement se trouve [ici](https://github.com/louislam/uptime-kuma/wiki/Environment-Variables) -- Actuellement Uptime Kuma support seulement sqlite3, [une PR](https://github.com/louislam/uptime-kuma/pull/1139) est en court pour le support de MySQL à suivre. -- Il y aurait des problèmes de DNS avec l'image Docker Alpine et [le support ne sera plus la dans la v2](https://github.com/louislam/uptime-kuma/pull/2085) donc on prend la version debian un peu plus lourde. -- Pour l'instant [il n'est pas possible d'avoir plusieurs comptes](https://github.com/louislam/uptime-kuma/issues/128) - -## Liens - -- [Site Officiel][site] -- [Documentation][documentation] -- [Code source][source] -- [Docker Hub][dockerhub] - -[site]: https://uptime.kuma.pet/ -[source]: https://github.com/louislam/uptime-kuma -[documentation]: https://github.com/louislam/uptime-kuma/wiki -[dockerhub]: https://hub.docker.com/r/louislam/uptime-kuma/ \ No newline at end of file diff --git a/uptimekuma/docker-compose.local.yml b/uptimekuma/docker-compose.local.yml deleted file mode 100644 index 7a90473..0000000 --- a/uptimekuma/docker-compose.local.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -version: "3.8" - -services: - uptimekuma: - ports: - - 3001:3001 diff --git a/uptimekuma/docker-compose.traefik.yml b/uptimekuma/docker-compose.traefik.yml deleted file mode 100644 index ff7d31c..0000000 --- a/uptimekuma/docker-compose.traefik.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- - -version: "3.8" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME:-traefik} - -services: - uptimekuma: - labels: - - traefik.enable=true - - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-uptimekuma}.rule=Host(`${UPTIMEKUMA_DOMAIN:?err}`) - - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-uptimekuma}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/uptimekuma/docker-compose.yml b/uptimekuma/docker-compose.yml deleted file mode 100644 index 8a087de..0000000 --- a/uptimekuma/docker-compose.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -version: "3.8" - -volumes: - uptimekuma: - name: ${UPTIMEKUMA_VOLUME_NAME:-uptimekuma} - -services: - uptimekuma: - container_name: ${UPTIMEKUMA_CONTAINER_NAME:-uptimekuma} - image: ${UPTIMEKUMA_IMAGE:-louislam/uptime-kuma:1.18.5} - restart: always - volumes: - - uptimekuma:/app/data - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro diff --git a/vaultwarden/.env b/vaultwarden/.env deleted file mode 100644 index 0c01add..0000000 --- a/vaultwarden/.env +++ /dev/null @@ -1,46 +0,0 @@ -######## -# DOCKER - -SERVICES_DIR=".." -COMPOSE_FILE=${SERVICES_DIR}/vaultwarden/docker-compose.yml -#COMPOSE_PROJECT_NAME= - -## APP - -#VAULTWARDEN_IMAGE= -#VAULTWARDEN_VOLUME_NAME= -VAULTWARDEN_DOMAIN=vaultwarden.local - -#VAULTWARDEN_LOG_LEVEL= -#VAULTWARDEN_SIGNUPS_ALLOWED=false -VAULTWARDEN_ADMIN_TOKEN="mytoken" -#VAULTWARDEN_INVITATION_ORG_NAME="RésiLien" - -########## -# POSTGRES - -#POSTGRES_IMAGE= -#POSTGRES_CONTAINER_NAME= -#POSTGRES_DB= -#POSTGRES_USER= -#POSTGRES_PASSWORD= -#POSTGRES_VOLUME_NAME= - -###### -# SMTP - -#VAULTWARDEN_SMTP_HOST= -#VAULTWARDEN_SMTP_FROM= -#VAULTWARDEN_SMTP_FROM_NAME= -#VAULTWARDEN_SMTP_SECURITY= -#VAULTWARDEN_SMTP_PORT= -#VAULTWARDEN_SMTP_USERNAME= -#VAULTWARDEN_SMTP_PASSWORD= -#VAULTWARDEN_SMTP_AUTH_MECHANISM= - -######### -# TRAEFIK - -#TRAEFIK_NETWORK_NAME= -#TRAEFIK_ROUTER_NAME= -#TRAEFIK_ENTRYPOINTS= diff --git a/vaultwarden/README.md b/vaultwarden/README.md deleted file mode 100644 index b799a9d..0000000 --- a/vaultwarden/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Vaultwarden - -> Gestionnaire de mot de passe compatible avec Bitwarden mais écrit en Rust pour être plus sobre en ressource système. - -## Configuration - -Toutes les variables de configuration du service sont disponibles à [cette adresse](https://github.com/dani-garcia/vaultwarden/blob/main/.env.template). - -## Clients - -[Les clients de Bitwarden](https://bitwarden.com/#download) sont compatibles avec le serveur. - -## Liens - -- [Documentation][documentation] -- [Code source][source] -- [Docker Hub][dockerhub] - -[source]: https://github.com/dani-garcia/vaultwarden -[documentation]: https://github.com/dani-garcia/vaultwarden/wiki -[dockerhub]: https://hub.docker.com/r/vaultwarden/server \ No newline at end of file diff --git a/vaultwarden/docker-compose.postgres.yml b/vaultwarden/docker-compose.postgres.yml deleted file mode 100644 index 58e2bf7..0000000 --- a/vaultwarden/docker-compose.postgres.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -version: "3.8" - -services: - vaultwarden: - depends_on: - - postgres - environment: - DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_CONTAINER_NAME}:5432/${POSTGRES_DB} diff --git a/vaultwarden/docker-compose.smtp.yml b/vaultwarden/docker-compose.smtp.yml deleted file mode 100644 index 21ca579..0000000 --- a/vaultwarden/docker-compose.smtp.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- - -version: "3.8" - -services: - vaultwarden: - environment: - SMTP_HOST: ${VAULTWARDEN_SMTP_HOST:?err} - SMTP_FROM: ${VAULTWARDEN_SMTP_FROM:?err} - SMTP_FROM_NAME: ${VAULTWARDEN_SMTP_FROM_NAME:?err} - SMTP_SECURITY: ${VAULTWARDEN_SMTP_SECURITY:?err} - SMTP_PORT: ${VAULTWARDEN_SMTP_PORT:?err} - SMTP_USERNAME: ${VAULTWARDEN_SMTP_USERNAME:?err} - SMTP_PASSWORD: ${VAULTWARDEN_SMTP_PASSWORD:?err} - SMTP_AUTH_MECHANISM: ${VAULTWARDEN_SMTP_AUTH_MECHANISM:?err} diff --git a/vaultwarden/docker-compose.traefik.yml b/vaultwarden/docker-compose.traefik.yml deleted file mode 100644 index e191542..0000000 --- a/vaultwarden/docker-compose.traefik.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- - -version: "3.8" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME:-traefik} - -services: - vaultwarden: - 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}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} \ No newline at end of file diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml deleted file mode 100644 index 97553ca..0000000 --- a/vaultwarden/docker-compose.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- - -version: "3.8" - -volumes: - vaultwarden: - name: ${VAULTWARDEN_VOLUME_NAME:-vaultwarden} - -services: - vaultwarden: - image: ${VAULTWARDEN_IMAGE:-vaultwarden/server:1.27.0-alpine} - container_name: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden} - restart: always - environment: - ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN:?err} - DOMAIN: https://${VAULTWARDEN_DOMAIN:?err} - INVITATION_ORG_NAME: ${VAULTWARDEN_INVITATION_ORG_NAME:-Vaultwarden} - LOG_LEVEL: ${VAULTWARDEN_LOG_LEVEL:-Info} - SIGNUPS_ALLOWED: ${VAULTWARDEN_SIGNUPS_ALLOWED:-true} - volumes: - - vaultwarden:/data - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro diff --git a/vikunja/.env b/vikunja/.env deleted file mode 100644 index 62a1d6f..0000000 --- a/vikunja/.env +++ /dev/null @@ -1,86 +0,0 @@ -######## -# 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 - -#VIKUNJA_API_IMAGE= -#VIKUNJA_FRONTEND_IMAGE= -VIKUNJA_CONTAINER_NAME=vikunja -VIKUNJA_VOLUME_NAME=vikunja - -VIKUNJA_DOMAIN=vikunja.example.org -VIKUNJA_SERVICE_FRONTENDURL=https://vikunja.example.org/ - -VIKUNJA_SERVICE_JWTSECRET=change-me -#VIKUNJA_SERVICE_JWTTTL=259200 -#VIKUNJA_SERVICE_JWTTTLLONG=2592000 -#VIKUNJA_SERVICE_MAXITEMSPERPAGE=50 -#VIKUNJA_SERVICE_ENABLECALDAV=true -#VIKUNJA_SERVICE_ENABLELINKSHARING=true -#VIKUNJA_SERVICE_ENABLEREGISTRATION=true -#VIKUNJA_SERVICE_ENABLETASKATTACHMENTS=true -#VIKUNJA_SERVICE_TIMEZONE=GMT -#VIKUNJA_SERVICE_ENABLETASKCOMMENTS=true -#VIKUNJA_SERVICE_ENABLETOTP=true -#VIKUNJA_SERVICE_ENABLEEMAILREMINDERS=true -#VIKUNJA_SERVICE_ENABLEUSERDELETION=true -#VIKUNJA_FILES_BASEPATH=./files -#VIKUNJA_FILES_MAXSIZE=20MB - -########## -# POSTGRES - -#POSTGRES_IMAGE= -POSTGRES_CONTAINER_NAME=vikunja-postgres-example -POSTGRES_DB=vikunja-postgres-database-example -POSTGRES_USER=vikunja-postgres-user-example -POSTGRES_PASSWORD=vikunja-postgres-password-example -POSTGRES_VOLUME_NAME=vikunja-postgres-example - -#VIKUNJA_DATABASE_TYPE=postgres -#VIKUNJA_DATABASE_MAXOPENCONNECTIONS=100 -#VIKUNJA_DATABASE_MAXIDLECONNECTIONS=50 -#VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME=10000 -#VIKUNJA_DATABASE_SSLMODE=disable - -###### -# SMTP - -#VIKUNJA_MAILER_ENABLED=true -#VIKUNJA_MAILER_SKIPTLSVERIFY=false -#VIKUNJA_MAILER_QUEUELENGTH=100 -#VIKUNJA_MAILER_QUEUETIMEOUT=30 -#VIKUNJA_MAILER_FORCESSL=false - -VIKUNJA_MAILER_HOST= -#VIKUNJA_MAILER_PORT=465 -VIKUNJA_MAILER_USERNAME= -VIKUNJA_MAILER_PASSWORD= -VIKUNJA_MAILER_FROMEMAIL= - -############ -# PROMETHEUS - -#VIKUNJA_METRICS_ENABLED=false -#VIKUNJA_METRICS_USERNAME= -#VIKUNJA_METRICS_PASSWORD= - -####### -# REDIS - -#REDIS_IMAGE= -REDIS_CONTAINER_NAME=vikunja-redis -REDIS_VOLUME_NAME=vikunja-redis - -######### -# TRAEFIK - -#TRAEFIK_NETWORK_NAME=traefik -#TRAEFIK_ROUTER_NAME=vikunja -#TRAEFIK_ENTRYPOINTS=web diff --git a/vikunja/README.md b/vikunja/README.md deleted file mode 100644 index 708a150..0000000 --- a/vikunja/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Vikunja - -> Vikunja est une application auto-hébergeable (facilement installable avec Yunohost) de gestion de tâches, utilisable depuis son navigateur ou un client desktop. Bien que jeune, l'application offre déjà de nombreuses fonctionnalités. -> -> [Framalibre](https://framalibre.org/content/vikunja) - -## Liens - -- [Site officiel](https://vikunja.io/) -- [Code source](https://kolaente.dev/vikunja/) -- [Docker Hub](https://hub.docker.com/u/vikunja) -- [Forum](https://community.vikunja.io/) diff --git a/vikunja/docker-compose.local.yml b/vikunja/docker-compose.local.yml deleted file mode 100644 index dbfbc28..0000000 --- a/vikunja/docker-compose.local.yml +++ /dev/null @@ -1,11 +0,0 @@ -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 \ No newline at end of file diff --git a/vikunja/docker-compose.logs.yml b/vikunja/docker-compose.logs.yml deleted file mode 100644 index ec74292..0000000 --- a/vikunja/docker-compose.logs.yml +++ /dev/null @@ -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. diff --git a/vikunja/docker-compose.postgres.yml b/vikunja/docker-compose.postgres.yml deleted file mode 100644 index 4193043..0000000 --- a/vikunja/docker-compose.postgres.yml +++ /dev/null @@ -1,19 +0,0 @@ -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} diff --git a/vikunja/docker-compose.prometheus.yml b/vikunja/docker-compose.prometheus.yml deleted file mode 100644 index 219ce35..0000000 --- a/vikunja/docker-compose.prometheus.yml +++ /dev/null @@ -1,10 +0,0 @@ -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} diff --git a/vikunja/docker-compose.redis.yml b/vikunja/docker-compose.redis.yml deleted file mode 100644 index 72289d6..0000000 --- a/vikunja/docker-compose.redis.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: "3.8" - -# https://vikunja.io/docs/config-options/#redis - -services: - 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_DB: 0 # It's default becouse we don't have yet configuration for redis database name diff --git a/vikunja/docker-compose.smtp.yml b/vikunja/docker-compose.smtp.yml deleted file mode 100644 index c9f98c2..0000000 --- a/vikunja/docker-compose.smtp.yml +++ /dev/null @@ -1,18 +0,0 @@ -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:-587} - VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME:?err} - VIKUNJA_MAILER_PASSWORD: ${VIKUNJA_MAILER_PASSWORD:?err} - VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL:?err} diff --git a/vikunja/docker-compose.traefik.yml b/vikunja/docker-compose.traefik.yml deleted file mode 100644 index eabf6d1..0000000 --- a/vikunja/docker-compose.traefik.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: "3.8" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME:-traefik} - -# https://vikunja.io/docs/full-docker-example/#example-with-traefik-2 - -services: - vikunja_api: - 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} diff --git a/vikunja/docker-compose.yml b/vikunja/docker-compose.yml deleted file mode 100644 index ac99c02..0000000 --- a/vikunja/docker-compose.yml +++ /dev/null @@ -1,45 +0,0 @@ -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_SERVICE_FRONTENDURL:?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} - restart: always - depends_on: - - vikunja_api diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml index ed51860..e0344e1 100644 --- a/watchtower/docker-compose.yml +++ b/watchtower/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.8' services: watchtower: container_name: ${WATCHTOWER_CONTAINER_NAME} - image: ${WATCHTOWER_IMAGE:-containrrr/watchtower:1.4.0} + image: ${WATCHTOWER_IMAGE:-containrrr/watchtower:1.4.0@sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3} restart: always command: -i 60 --label-enable --cleanup --debug # --debug