diff --git a/README.md b/README.md index 065f41f..60e30a6 100644 --- a/README.md +++ b/README.md @@ -8,26 +8,22 @@ 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 +- [Plausible](./plausible) : Plausible est une plateforme d'analyse Web légère et open source. ### 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/directus/docker-compose.yml b/directus/docker-compose.yml index 1422d1d..cc5f093 100644 --- a/directus/docker-compose.yml +++ b/directus/docker-compose.yml @@ -9,7 +9,7 @@ volumes: services: directus: container_name: ${DIRECTUS_CONTAINER_NAME:-directus} - image: ${DIRECTUS_IMAGE:-directus/directus:9.8.0} + image: ${DIRECTUS_IMAGE:-directus/directus:9.6.0} restart: always volumes: - directus:/directus/uploads diff --git a/drone/server/docker-compose.yml b/drone/server/docker-compose.yml index ae49725..ed28ce5 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.10.0} restart: always environment: # https://docs.drone.io/server/reference/drone-rpc-secret/ 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..a43804e 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.3} 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/docker-compose.yml b/grafana/docker-compose.yml index 88aa1f9..dcba3c7 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.3} restart: always volumes: - grafana:/var/lib/grafana diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 204d0a2..27c08a6 100644 --- a/hedgedoc/docker-compose.yml +++ b/hedgedoc/docker-compose.yml @@ -7,7 +7,7 @@ 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} restart: always depends_on: - postgres 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/nextcloud/.env b/nextcloud/.env index 15a8d09..8cd5d60 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 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..c6efa21 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} 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/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index b97b1e3..66fd702 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.4} volumes: - prometheus:/prometheus restart: always 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..003cce9 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} restart: always environment: REGISTRY_AUTH: htpasswd diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index f030402..61e093e 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} 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