From afa9b3a9979dc01cc66e708b2ad186dae59f65c0 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 3 Jan 2022 14:33:15 +0100 Subject: [PATCH 01/80] fix(Nextcloud): Update default host on postgres and redis --- nextcloud/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 5b87ade..7973c91 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -22,11 +22,11 @@ services: NEXTCLOUD_ADMIN_PASSWORD: ${NEXTCLOUD_ADMIN_PASSWORD?err} OVERWRITEPROTOCOL: ${OVERWRITEPROTOCOL:-https} PHP_UPLOAD_LIMIT: ${PHP_UPLOAD_LIMIT:-512M} - POSTGRES_HOST: postgres # Name is same as ../postgres/docker-compose.yml:8 + POSTGRES_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8 POSTGRES_USER: ${POSTGRES_USER:?err} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?err} POSTGRES_DB: ${POSTGRES_DB:?err} - REDIS_HOST: redis # Name is same as ../redis/docker-compose.yml:4 + REDIS_HOST: ${REDIS_CONTAINER_NAME:-redis} # Default name is same as ../redis/docker-compose.yml:4 PUID: ${NEXTCLOUD_PUID:-1000} PGID: ${NEXTCLOUD_PGID:-1000} -- 2.40.1 From dc1e6273303a61e94f3fc0d98fcdc672aca6cfef Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 3 Jan 2022 17:57:35 +0100 Subject: [PATCH 02/80] feat(Nextcloud): Nginx configuration use envsubst to use variable on Nextcloud fpm --- nextcloud/docker-compose.yml | 1 + nextcloud/web/Dockerfile | 2 +- nextcloud/web/nextcloud.conf.template | 145 +++++++++++++++++++++ nextcloud/web/nginx.conf | 174 -------------------------- 4 files changed, 147 insertions(+), 175 deletions(-) create mode 100644 nextcloud/web/nextcloud.conf.template delete mode 100644 nextcloud/web/nginx.conf diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 7973c91..6e8f99b 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -35,6 +35,7 @@ services: build: web restart: always environment: + NEXTCLOUD_FPM_CONTAINER_NAME: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-fpm PUID: ${NEXTCLOUD_PUID:-1000} PGID: ${NEXTCLOUD_PGID:-1000} depends_on: diff --git a/nextcloud/web/Dockerfile b/nextcloud/web/Dockerfile index 64dc53c..60143f5 100644 --- a/nextcloud/web/Dockerfile +++ b/nextcloud/web/Dockerfile @@ -1,3 +1,3 @@ FROM nginx:1.21.4-alpine -COPY nginx.conf /etc/nginx/nginx.conf +COPY nextcloud.conf.template /etc/nginx/templates/default.conf.template diff --git a/nextcloud/web/nextcloud.conf.template b/nextcloud/web/nextcloud.conf.template new file mode 100644 index 0000000..ca15645 --- /dev/null +++ b/nextcloud/web/nextcloud.conf.template @@ -0,0 +1,145 @@ +upstream php-handler { + server ${NEXTCLOUD_FPM_CONTAINER_NAME}:9000; +} + +server { + listen 80; + + # Add headers to serve security related headers + # Before enabling Strict-Transport-Security headers please read into this + # topic first. + #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; + # + # WARNING: Only add the preload option once you read about + # the consequences in https://hstspreload.org/. This option + # will add the domain to a hardcoded list that is shipped + # in all major browsers and getting removed from this list + # could take several months. + add_header Referrer-Policy "no-referrer" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-Download-Options "noopen" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Permitted-Cross-Domain-Policies "none" always; + add_header X-Robots-Tag "none" always; + add_header X-XSS-Protection "1; mode=block" always; + + # Remove X-Powered-By, which is an information leak + fastcgi_hide_header X-Powered-By; + + # Path to the root of your installation + root /var/www/html; + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + # The following 2 rules are only needed for the user_webfinger app. + # Uncomment it if you're planning to use this app. + #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; + #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; + + # The following rule is only needed for the Social app. + # Uncomment it if you're planning to use this app. + #rewrite ^/.well-known/webfinger /public.php?service=webfinger last; + + location = /.well-known/carddav { + return 301 $scheme://$host:$server_port/remote.php/dav; + } + + location = /.well-known/caldav { + return 301 $scheme://$host:$server_port/remote.php/dav; + } + + # location /nginx_status { + # stub_status; + # allow 192.168.1.0/24; #only allow requests from local network + # deny all; #deny all other hosts + # } + + # set max upload size + client_max_body_size 10G; + fastcgi_buffers 64 4K; + + # Enable gzip but do not remove ETag headers + gzip on; + gzip_vary on; + gzip_comp_level 4; + gzip_min_length 256; + gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; + gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; + + # Uncomment if your server is build with the ngx_pagespeed module + # This module is currently not supported. + #pagespeed off; + + location / { + rewrite ^ /index.php; + } + + location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { + deny all; + } + location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) { + deny all; + } + + location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { + fastcgi_split_path_info ^(.+?\.php)(\/.*|)$; + set $path_info $fastcgi_path_info; + try_files $fastcgi_script_name =404; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $path_info; + # fastcgi_param HTTPS on; + + # Avoid sending the security headers twice + fastcgi_param modHeadersAvailable true; + + # Enable pretty urls + fastcgi_param front_controller_active true; + fastcgi_pass php-handler; + fastcgi_intercept_errors on; + fastcgi_request_buffering off; + } + + location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { + try_files $uri/ =404; + index index.php; + } + + # Adding the cache control header for js, css and map files + # Make sure it is BELOW the PHP block + location ~ \.(?:css|js|woff2?|svg|gif|map)$ { + try_files $uri /index.php$request_uri; + add_header Cache-Control "public, max-age=15778463"; + # Add headers to serve security related headers (It is intended to + # have those duplicated to the ones above) + # Before enabling Strict-Transport-Security headers please read into + # this topic first. + #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; + # + # WARNING: Only add the preload option once you read about + # the consequences in https://hstspreload.org/. This option + # will add the domain to a hardcoded list that is shipped + # in all major browsers and getting removed from this list + # could take several months. + add_header Referrer-Policy "no-referrer" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-Download-Options "noopen" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Permitted-Cross-Domain-Policies "none" always; + add_header X-Robots-Tag "none" always; + add_header X-XSS-Protection "1; mode=block" always; + + # Optional: Don't log access to assets + access_log off; + } + + location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$ { + try_files $uri /index.php$request_uri; + # Optional: Don't log access to other assets + access_log off; + } +} diff --git a/nextcloud/web/nginx.conf b/nextcloud/web/nginx.conf deleted file mode 100644 index b076ed2..0000000 --- a/nextcloud/web/nginx.conf +++ /dev/null @@ -1,174 +0,0 @@ -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server nextcloud-fpm:9000; - } - - server { - listen 80; - - # Add headers to serve security related headers - # Before enabling Strict-Transport-Security headers please read into this - # topic first. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - # - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "none" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root /var/www/html; - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # The following 2 rules are only needed for the user_webfinger app. - # Uncomment it if you're planning to use this app. - #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; - #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; - - # The following rule is only needed for the Social app. - # Uncomment it if you're planning to use this app. - #rewrite ^/.well-known/webfinger /public.php?service=webfinger last; - - location = /.well-known/carddav { - return 301 $scheme://$host:$server_port/remote.php/dav; - } - - location = /.well-known/caldav { - return 301 $scheme://$host:$server_port/remote.php/dav; - } - - # location /nginx_status { - # stub_status; - # allow 192.168.1.0/24; #only allow requests from local network - # deny all; #deny all other hosts - # } - - # set max upload size - client_max_body_size 10G; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Uncomment if your server is build with the ngx_pagespeed module - # This module is currently not supported. - #pagespeed off; - - location / { - rewrite ^ /index.php; - } - - location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { - deny all; - } - location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) { - deny all; - } - - location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { - fastcgi_split_path_info ^(.+?\.php)(\/.*|)$; - set $path_info $fastcgi_path_info; - try_files $fastcgi_script_name =404; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - # fastcgi_param HTTPS on; - - # Avoid sending the security headers twice - fastcgi_param modHeadersAvailable true; - - # Enable pretty urls - fastcgi_param front_controller_active true; - fastcgi_pass php-handler; - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - } - - location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { - try_files $uri/ =404; - index index.php; - } - - # Adding the cache control header for js, css and map files - # Make sure it is BELOW the PHP block - location ~ \.(?:css|js|woff2?|svg|gif|map)$ { - try_files $uri /index.php$request_uri; - add_header Cache-Control "public, max-age=15778463"; - # Add headers to serve security related headers (It is intended to - # have those duplicated to the ones above) - # Before enabling Strict-Transport-Security headers please read into - # this topic first. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - # - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "none" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Optional: Don't log access to assets - access_log off; - } - - location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$ { - try_files $uri /index.php$request_uri; - # Optional: Don't log access to other assets - access_log off; - } - } -} -- 2.40.1 From 97f12a40bb10384b02a06c6d9200f37646bf41fa Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 3 Jan 2022 18:01:02 +0100 Subject: [PATCH 03/80] chore(Nginx): Upgrade to 1.21.5 http://nginx.org/en/CHANGES --- nextcloud/web/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud/web/Dockerfile b/nextcloud/web/Dockerfile index 60143f5..2cde763 100644 --- a/nextcloud/web/Dockerfile +++ b/nextcloud/web/Dockerfile @@ -1,3 +1,3 @@ -FROM nginx:1.21.4-alpine +FROM nginx:1.21.5-alpine COPY nextcloud.conf.template /etc/nginx/templates/default.conf.template -- 2.40.1 From 2c9b9257f90d0b8dce90deeab327bc95a1cf9ce6 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 5 Jan 2022 00:41:26 +0100 Subject: [PATCH 04/80] feat(Mobilizon): Add new service --- geoip/.env | 9 ++++ geoip/docker-compose.yml | 22 ++++++++++ mobilizon/.env | 63 ++++++++++++++++++++++++++++ mobilizon/README.md | 22 ++++++++++ mobilizon/docker-compose.local.yml | 8 ++++ mobilizon/docker-compose.traefik.yml | 15 +++++++ mobilizon/docker-compose.yml | 47 +++++++++++++++++++++ 7 files changed, 186 insertions(+) create mode 100644 geoip/.env create mode 100644 geoip/docker-compose.yml create mode 100644 mobilizon/.env create mode 100644 mobilizon/README.md create mode 100644 mobilizon/docker-compose.local.yml create mode 100644 mobilizon/docker-compose.traefik.yml create mode 100644 mobilizon/docker-compose.yml diff --git a/geoip/.env b/geoip/.env new file mode 100644 index 0000000..608b262 --- /dev/null +++ b/geoip/.env @@ -0,0 +1,9 @@ +#GEOIP_VOLUME_NAME= +#GEOIP_IMAGE= +#GEOIP_CONTAINER_NAME= + +#GEOIP_EDITION_IDS= +GEOIP_LICENSE_KEY=blablabla +#GEOIP_DOWNLOAD_PATH= +#GEOIP_SCHEDULE= +#GEOIP_LOG_LEVEL= diff --git a/geoip/docker-compose.yml b/geoip/docker-compose.yml new file mode 100644 index 0000000..a9b25bb --- /dev/null +++ b/geoip/docker-compose.yml @@ -0,0 +1,22 @@ +--- + +version: "3.8" + +volumes: + geoip: + name: ${GEOIP_VOLUME_NAME:-geoip} + +services: + geoip: + image: ${GEOIP_IMAGE:-crazymax/geoip-updater:latest} + container_name: ${GEOIP_CONTAINER_NAME:-geoip-updater} + restart: always + volumes: + - geoip:${GEOIP_DOWNLOAD_PATH:-/data} + environment: + EDITION_IDS: ${GEOIP_EDITION_IDS:-GeoLite2-City} + LICENSE_KEY: ${GEOIP_LICENSE_KEY:-err} + DOWNLOAD_PATH: ${GEOIP_DOWNLOAD_PATH:-/data} + SCHEDULE: ${GEOIP_SCHEDULE:-0 0 * * 0} # Every Sunday + LOG_LEVEL: ${GEOIP_LOG_LEVEL:-info} + LOG_JSON: ${GEOIP_LOG_JSON:-false} diff --git a/mobilizon/.env b/mobilizon/.env new file mode 100644 index 0000000..6066034 --- /dev/null +++ b/mobilizon/.env @@ -0,0 +1,63 @@ +######## +# DOCKER + +#DOCKER_CONTEXT= +#DOCKER_HOST= +SERVICES_DIR=.. +COMPOSE_FILE=${SERVICES_DIR}/mobilizon/docker-compose.yml:${SERVICES_DIR}/mobilizon/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/geoip/docker-compose.yml +#COMPOSE_PROJECT_NAME= + +############ +## MOBILIZON + +MOBILIZON_INSTANCE_NAME="RésiLien - Mobilizon" +MOBILIZON_DOMAIN=mobilizon.lan +MOBILIZON_INSTANCE_PORT=4000 +MOBILIZON_INSTANCE_EMAIL=no-reply@mobilizon.lan + +MOBILIZON_REPLY_EMAIL=contact@mobilizon.lan +MOBILIZON_ADMIN_EMAIL=admin@mobilizon.lan +MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=true + +MOBILIZON_INSTANCE_SECRET_KEY_BASE=changethis +MOBILIZON_INSTANCE_SECRET_KEY=changethis + +MOBILIZON_SMTP_SERVER=localhost +MOBILIZON_SMTP_HOSTNAME=localhost +MOBILIZON_SMTP_PORT=25 +MOBILIZON_SMTP_SSL=false +MOBILIZON_SMTP_USERNAME=noreply@mobilizon.lan +MOBILIZON_SMTP_PASSWORD=password + +#MOBILIZON_PUID= +#MOBILIZON_PGID= + +####### +# GEOIP + +#GEOIP_VOLUME_NAME= +#GEOIP_IMAGE= +#GEOIP_CONTAINER_NAME= + +#GEOIP_EDITION_IDS= +GEOIP_LICENSE_KEY= +#GEOIP_DOWNLOAD_PATH= +#GEOIP_SCHEDULE= +#GEOIP_LOG_LEVEL= + +########## +# POSTGRES + +POSTGRES_USER=mobilizon_user +POSTGRES_PASSWORD=mobilizon_password +POSTGRES_DB=mobilizon_db +#POSTGRES_CONTAINER_NAME=mobilizon_postgres +#POSTGRES_VOLUME_NAME=mobilizon_postgres +POSTGRES_IMAGE=kartoza/postgis:14-3.1 + +######### +# TRAEFIK + +#TRAEFIK_NETWORK_NAME= +#TRAEFIK_ROUTER_NAME= # Don't use char '.' +#TRAEFIK_ENTRYPOINTS= diff --git a/mobilizon/README.md b/mobilizon/README.md new file mode 100644 index 0000000..8519ff5 --- /dev/null +++ b/mobilizon/README.md @@ -0,0 +1,22 @@ +# Mobilizon + +> Mobilizon est un logiciel libre d'organisation d'évènements et de gestion de groupes (Meet-up) lancé en octobre 20203 par Framasoft pour proposer une alternative libre aux plateformes des GAFAM4,5 (Facebook, Meetup.com, EventBrite). +> +> -- [Wikipedia](https://fr.wikipedia.org/wiki/Mobilizon) + +On peut retrouver la documentation sur le [site officiel](https://docs.joinmobilizon.org/fr/). + +## Configuration + +Mobilizon utilise de la géolocalisation pour les évènements et du coup il faut : +- une base de données spécifique postgis qui se base sur Postgres. Actuellement la configuration Postgres est compatible il faut donc juste changer l'image et utiliser [kartoza/postgis](https://hub.docker.com/r/kartoza/postgis). +- un fichier GeoLite2 et pour cela il faut créer une clé pour accéder au service en ligne de [maxmind](https://www.maxmind.com), on utilise ensuite l'image docker [geoip-updater](https://crazymax.dev/geoip-updater/install/docker/) de crazymax pour automatiser le téléchargement et la mise à jour. + +## Liens + +- 🌐 Official website: https://joinmobilizon.org +- 🔢 Pick an instance https://mobilizon.org +- 💻 Source: https://framagit.org/framasoft/mobilizon +- 📜 Documentation https://docs.joinmobilizon.org +- [Dépôt GIT Docker Compose](https://framagit.org/framasoft/joinmobilizon/docker) +- [Docker Hub](https://hub.docker.com/r/framasoft/mobilizon) diff --git a/mobilizon/docker-compose.local.yml b/mobilizon/docker-compose.local.yml new file mode 100644 index 0000000..156150e --- /dev/null +++ b/mobilizon/docker-compose.local.yml @@ -0,0 +1,8 @@ +--- + +version: "3.8" + +services: + mobilizon: + ports: + - "4000:${MOBILIZON_PORT:-4000}" diff --git a/mobilizon/docker-compose.traefik.yml b/mobilizon/docker-compose.traefik.yml new file mode 100644 index 0000000..a37a013 --- /dev/null +++ b/mobilizon/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME:-traefik} + +services: + mobilizon: + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-mobilizon}.rule=Host(`${MOBILIZON_DOMAIN:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-mobilizon}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/mobilizon/docker-compose.yml b/mobilizon/docker-compose.yml new file mode 100644 index 0000000..3f55e57 --- /dev/null +++ b/mobilizon/docker-compose.yml @@ -0,0 +1,47 @@ +--- + +version: "3.8" + +volumes: + mobilizon: + name: ${MOBILIZON_VOLUME_NAME:-mobilizon} + +services: + mobilizon: + container_name: ${MOBILIZON_CONTAINER_NAME:-mobilizon} + image: ${MOBILIZON_IMAGE:-framasoft/mobilizon:2.0.2} + restart: always + depends_on: + - postgres + - geoip + volumes: + - mobilizon:/var/lib/mobilizon/uploads + # - ${PWD}/config.exs:/etc/mobilizon/config.exs:ro + - geoip:/var/lib/mobilizon/geo_db + environment: + MOBILIZON_INSTANCE_NAME: ${MOBILIZON_INSTANCE_NAME} + MOBILIZON_INSTANCE_HOST: ${MOBILIZON_DOMAIN} + MOBILIZON_INSTANCE_PORT: ${MOBILIZON_INSTANCE_PORT} + MOBILIZON_INSTANCE_EMAIL: ${MOBILIZON_INSTANCE_EMAIL} + + MOBILIZON_REPLY_EMAIL: ${MOBILIZON_REPLY_EMAIL} + MOBILIZON_ADMIN_EMAIL: ${MOBILIZON_ADMIN_EMAIL} + MOBILIZON_INSTANCE_REGISTRATIONS_OPEN: ${MOBILIZON_INSTANCE_REGISTRATIONS_OPEN:-false} + + MOBILIZON_DATABASE_USERNAME: ${POSTGRES_USER} + MOBILIZON_DATABASE_PASSWORD: ${POSTGRES_PASSWORD} + MOBILIZON_DATABASE_DBNAME: ${POSTGRES_DB} + MOBILIZON_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} + + MOBILIZON_INSTANCE_SECRET_KEY_BASE: ${MOBILIZON_INSTANCE_SECRET_KEY_BASE:?err} + MOBILIZON_INSTANCE_SECRET_KEY: ${MOBILIZON_INSTANCE_SECRET_KEY:?err} + + MOBILIZON_SMTP_SERVER: ${MOBILIZON_SMTP_SERVER:?err} + MOBILIZON_SMTP_HOSTNAME: ${MOBILIZON_SMTP_HOSTNAME:?err} + MOBILIZON_SMTP_PORT: ${MOBILIZON_SMTP_PORT:?err} + MOBILIZON_SMTP_SSL: ${MOBILIZON_SMTP_SSL:?err} + MOBILIZON_SMTP_USERNAME: ${MOBILIZON_SMTP_USERNAME:?err} + MOBILIZON_SMTP_PASSWORD: ${MOBILIZON_SMTP_PASSWORD:?err} + + PUID: ${MOBILIZON_PUID:-1000} + PGID: ${MOBILIZON_PGID:-1000} -- 2.40.1 From 80250b899b2d6661a8231e9a4ab1d7b76641eee4 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 10 Jan 2022 10:27:22 +0100 Subject: [PATCH 05/80] feat(Mobilizon): Add default port --- mobilizon/.env | 2 +- mobilizon/docker-compose.local.yml | 2 +- mobilizon/docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mobilizon/.env b/mobilizon/.env index 6066034..fadbbf9 100644 --- a/mobilizon/.env +++ b/mobilizon/.env @@ -12,7 +12,7 @@ COMPOSE_FILE=${SERVICES_DIR}/mobilizon/docker-compose.yml:${SERVICES_DIR}/mobili MOBILIZON_INSTANCE_NAME="RésiLien - Mobilizon" MOBILIZON_DOMAIN=mobilizon.lan -MOBILIZON_INSTANCE_PORT=4000 +#MOBILIZON_INSTANCE_PORT=4000 MOBILIZON_INSTANCE_EMAIL=no-reply@mobilizon.lan MOBILIZON_REPLY_EMAIL=contact@mobilizon.lan diff --git a/mobilizon/docker-compose.local.yml b/mobilizon/docker-compose.local.yml index 156150e..4cd53ce 100644 --- a/mobilizon/docker-compose.local.yml +++ b/mobilizon/docker-compose.local.yml @@ -5,4 +5,4 @@ version: "3.8" services: mobilizon: ports: - - "4000:${MOBILIZON_PORT:-4000}" + - "${MOBILIZON_INSTANCE_PORT:-4000}:${MOBILIZON_PORT:-4000}" diff --git a/mobilizon/docker-compose.yml b/mobilizon/docker-compose.yml index 3f55e57..e7f5c41 100644 --- a/mobilizon/docker-compose.yml +++ b/mobilizon/docker-compose.yml @@ -21,7 +21,7 @@ services: environment: MOBILIZON_INSTANCE_NAME: ${MOBILIZON_INSTANCE_NAME} MOBILIZON_INSTANCE_HOST: ${MOBILIZON_DOMAIN} - MOBILIZON_INSTANCE_PORT: ${MOBILIZON_INSTANCE_PORT} + MOBILIZON_INSTANCE_PORT: ${MOBILIZON_INSTANCE_PORT:-4000} MOBILIZON_INSTANCE_EMAIL: ${MOBILIZON_INSTANCE_EMAIL} MOBILIZON_REPLY_EMAIL: ${MOBILIZON_REPLY_EMAIL} -- 2.40.1 From 26842cadd3354f1fe221d7507d8da9e202c540af Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 10 Jan 2022 10:52:17 +0100 Subject: [PATCH 06/80] =?UTF-8?q?docs(Mobilizon):=20Mise=20=C3=A0=20jour?= =?UTF-8?q?=20de=20la=20documentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mobilizon/README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/mobilizon/README.md b/mobilizon/README.md index 8519ff5..9614c9a 100644 --- a/mobilizon/README.md +++ b/mobilizon/README.md @@ -1,6 +1,6 @@ # Mobilizon -> Mobilizon est un logiciel libre d'organisation d'évènements et de gestion de groupes (Meet-up) lancé en octobre 20203 par Framasoft pour proposer une alternative libre aux plateformes des GAFAM4,5 (Facebook, Meetup.com, EventBrite). +> Mobilizon est un logiciel libre d'organisation d'évènements et de gestion de groupes (Meet-up) lancé en octobre 2020 par Framasoft pour proposer une alternative libre aux plateformes des GAFAM (Facebook, Meetup.com, EventBrite). > > -- [Wikipedia](https://fr.wikipedia.org/wiki/Mobilizon) @@ -9,14 +9,15 @@ On peut retrouver la documentation sur le [site officiel](https://docs.joinmobil ## Configuration Mobilizon utilise de la géolocalisation pour les évènements et du coup il faut : -- une base de données spécifique postgis qui se base sur Postgres. Actuellement la configuration Postgres est compatible il faut donc juste changer l'image et utiliser [kartoza/postgis](https://hub.docker.com/r/kartoza/postgis). -- un fichier GeoLite2 et pour cela il faut créer une clé pour accéder au service en ligne de [maxmind](https://www.maxmind.com), on utilise ensuite l'image docker [geoip-updater](https://crazymax.dev/geoip-updater/install/docker/) de crazymax pour automatiser le téléchargement et la mise à jour. +- une base de données spécifique _[PostGIS](https://fr.wikipedia.org/wiki/PostGIS)_ qui se base sur _Postgres_. Actuellement la configuration de l'image Docker Postgres est compatible il faut donc juste changer le nom de l'image et utiliser [kartoza/postgis](https://hub.docker.com/r/kartoza/postgis) à la place. +- un fichier GeoLite2 et pour cela il faut créer une clé pour accéder au service en ligne de [maxmind](https://www.maxmind.com), on utilise ensuite l'image docker [geoip-updater](https://crazymax.dev/geoip-updater/install/docker/) de crazymax pour automatiser le téléchargement et la mise à jour du fichier. ## Liens -- 🌐 Official website: https://joinmobilizon.org -- 🔢 Pick an instance https://mobilizon.org -- 💻 Source: https://framagit.org/framasoft/mobilizon -- 📜 Documentation https://docs.joinmobilizon.org -- [Dépôt GIT Docker Compose](https://framagit.org/framasoft/joinmobilizon/docker) -- [Docker Hub](https://hub.docker.com/r/framasoft/mobilizon) +- 🌐 [Site website](https://joinmobilizon.org) +- 🔢 [voir les instances](https://instances.joinmobilizon.org/instances) +- 💻 Source officiel : + - [le logiciel](https://framagit.org/framasoft/mobilizon) + - [l'image _Docker_](https://framagit.org/framasoft/joinmobilizon/docker) +- 📜 [Documentation](https://docs.joinmobilizon.org) +- 🐳 [Docker Hub](https://hub.docker.com/r/framasoft/mobilizon) -- 2.40.1 From d23ab55885ff38b569af1c2ec7e19fded1bd2d42 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 10 Jan 2022 13:54:21 +0100 Subject: [PATCH 07/80] chore(Directus): Upgrade to 9.4.3 https://github.com/directus/directus/releases/tag/v9.4.3 --- directus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index 4db6a8a..f41d446 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.4.0} + image: ${DIRECTUS_IMAGE:-directus/directus:9.4.3} restart: always volumes: - directus:/directus/uploads -- 2.40.1 From 567349390c24a045956a27cc9b20d61757403c02 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 19 Jan 2022 15:07:02 +0100 Subject: [PATCH 08/80] feat(Drone): Add more configuration and split it --- README.md | 2 +- drone/.env | 37 ------------- drone/README.md | 16 ++++++ drone/docker-compose.gitea.yml | 10 ---- drone/docker-compose.traefik.yml | 22 -------- drone/docker-compose.yml | 41 -------------- drone/runner/.env | 36 +++++++++++++ drone/runner/README.md | 11 ++++ drone/runner/docker-compose.dashboard.yml | 15 ++++++ drone/runner/docker-compose.local.yml | 8 +++ drone/runner/docker-compose.logging.yml | 15 ++++++ drone/runner/docker-compose.traefik.yml | 15 ++++++ drone/runner/docker-compose.yml | 26 +++++++++ drone/server/.env | 65 +++++++++++++++++++++++ drone/server/README.md | 41 ++++++++++++++ drone/server/docker-compose.cookie.yml | 13 +++++ drone/server/docker-compose.gitea.yml | 17 ++++++ drone/server/docker-compose.header.yml | 13 +++++ drone/server/docker-compose.local.yml | 8 +++ drone/server/docker-compose.logging.yml | 19 +++++++ drone/server/docker-compose.postgres.yml | 16 ++++++ drone/server/docker-compose.traefik.yml | 15 ++++++ drone/server/docker-compose.user.yml | 15 ++++++ drone/server/docker-compose.yml | 24 +++++++++ 24 files changed, 389 insertions(+), 111 deletions(-) delete mode 100644 drone/.env delete mode 100644 drone/docker-compose.gitea.yml delete mode 100644 drone/docker-compose.traefik.yml delete mode 100644 drone/docker-compose.yml create mode 100644 drone/runner/.env create mode 100644 drone/runner/README.md create mode 100644 drone/runner/docker-compose.dashboard.yml create mode 100644 drone/runner/docker-compose.local.yml create mode 100644 drone/runner/docker-compose.logging.yml create mode 100644 drone/runner/docker-compose.traefik.yml create mode 100644 drone/runner/docker-compose.yml create mode 100644 drone/server/.env create mode 100644 drone/server/README.md create mode 100644 drone/server/docker-compose.cookie.yml create mode 100644 drone/server/docker-compose.gitea.yml create mode 100644 drone/server/docker-compose.header.yml create mode 100644 drone/server/docker-compose.local.yml create mode 100644 drone/server/docker-compose.logging.yml create mode 100644 drone/server/docker-compose.postgres.yml create mode 100644 drone/server/docker-compose.traefik.yml create mode 100644 drone/server/docker-compose.user.yml create mode 100644 drone/server/docker-compose.yml diff --git a/README.md b/README.md index 716004e..98a42f2 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien ### Pour les devs / ops -- [Drone](./drone) ⏸️ `en pause` : Un service d'intégration continue +- [Drone](./drone) : Un service d'intégration continue - [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. diff --git a/drone/.env b/drone/.env deleted file mode 100644 index a698659..0000000 --- a/drone/.env +++ /dev/null @@ -1,37 +0,0 @@ -## DOCKER - -COMPOSE_FILE=./docker-compose.yml:./docker-compose.gitea.yml:./docker-compose.traefik.yml -TRAEFIK_NETWORK_NAME=kifeart - - -## DRONE SERVER - -# https://hub.docker.com/r/drone/drone/tags -DRONE_SERVER_IMAGE=drone/drone:1.7.0 - -DRONE_SERVER_VOLUME_NAME=drone-server -DRONE_SERVER_CONTAINER_NAME=drone-server - -# https://docs.drone.io/server/reference/ -DRONE_GIT_ALWAYS_AUTH=true -DRONE_RPC_SECRET=9VjG2Dj34Kdo2JYvn5iVxd7JjT5 -DRONE_SERVER_HOST=ci.cool.life -DRONE_SERVER_PROTO=https - -# https://docs.drone.io/server/provider/gitea/ -DRONE_GITEA_SERVER=gitea.cool.life -DRONE_GITEA_CLIENT_ID=UI76T78G-HDZ8-7CSD-6SDZ-YUIDG8Z7DSQ8 -DRONE_GITEA_CLIENT_SECRET=y9ruXnEqluXjKUcfs5yIFlH83yb1OpP32NCf0h5YJwg= - - - -## DRONE RUNNER - -# https://hub.docker.com/r/drone/drone-runner-docker/tags -DRONE_RUNNER_IMAGE=drone/drone-runner-docker:1.3.0 -DRONE_RUNNER_CONTAINER_NAME=drone-runner -DRONE_RUNNER_CAPACITY=2 -DRONE_RUNNER_HOST=ci-runner.cool.life -DRONE_RUNNER_NAME=ci-runner.cool.life -DRONE_RUNNER_UI_USERNAME=kosssi -DRONE_RUNNER_UI_PASSWORD=$not$a$password diff --git a/drone/README.md b/drone/README.md index 6b84604..b1f2662 100644 --- a/drone/README.md +++ b/drone/README.md @@ -4,6 +4,22 @@ > > [Codeflow][article] +## Documentation + +Drone est un logiciel d'intégration continue léger. Il est utilisé comme plate-forme de test et/ou de livraison automatisée. + +Le service est basé sur 2 briques : +- le coté serveur qui prend en compte les demande de l'extérieur avec une interface (_[server](./server)_) +- le coté exécution des tâches (_[runner](./runner)_). + +### Génération de clé + +Dans la documentation officielle, il est conseillé de générer les clés avec la commande : + +``` +openssl rand -hex 16 +``` + ## Liens - [Site internet][site] diff --git a/drone/docker-compose.gitea.yml b/drone/docker-compose.gitea.yml deleted file mode 100644 index 4c4a925..0000000 --- a/drone/docker-compose.gitea.yml +++ /dev/null @@ -1,10 +0,0 @@ -version: "3.8" - -# https://docs.drone.io/server/provider/gitea/ - -services: - drone-server: - environment: - DRONE_GITEA_SERVER: ${DRONE_GITEA_SERVER} - DRONE_GITEA_CLIENT_ID: ${DRONE_GITEA_CLIENT_ID} - DRONE_GITEA_CLIENT_SECRET: ${DRONE_GITEA_CLIENT_SECRET} diff --git a/drone/docker-compose.traefik.yml b/drone/docker-compose.traefik.yml deleted file mode 100644 index 5a03918..0000000 --- a/drone/docker-compose.traefik.yml +++ /dev/null @@ -1,22 +0,0 @@ -version: "3.8" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME} - -services: - drone-server: - labels: - traefik.enable: 'true' - traefik.docker.network: ${TRAEFIK_NETWORK_NAME} - - traefik.http.routers.drone-server.rule: 'Host(`${DRONE_SERVER_HOST}`)' - traefik.http.routers.drone-server.entrypoints: 'web' - - drone-runner: - labels: - traefik.enable: 'true' - traefik.docker.network: ${TRAEFIK_NETWORK_NAME} - - traefik.http.routers.drone-runner.rule: 'Host(`${DRONE_RUNNER_HOST}`)' - traefik.http.routers.drone-runner.entrypoints: 'web' diff --git a/drone/docker-compose.yml b/drone/docker-compose.yml deleted file mode 100644 index 78bd9b6..0000000 --- a/drone/docker-compose.yml +++ /dev/null @@ -1,41 +0,0 @@ -version: "3.8" - -volumes: - drone-server: - name: ${DRONE_SERVER_VOLUME_NAME} - -services: - drone-server: - container_name: ${DRONE_SERVER_CONTAINER_NAME} - image: ${DRONE_SERVER_IMAGE} - restart: always - environment: - DRONE_GIT_ALWAYS_AUTH: ${DRONE_GIT_ALWAYS_AUTH} - DRONE_RPC_SECRET: ${DRONE_RPC_SECRET} - DRONE_SERVER_HOST: ${DRONE_SERVER_HOST} - DRONE_SERVER_PROTO: ${DRONE_SERVER_PROTO} - DRONE_LOGS_DEBUG: 'true' - volumes: - - drone-server:/data - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - - drone-runner: - container_name: ${DRONE_RUNNER_CONTAINER_NAME} - image: ${DRONE_RUNNER_IMAGE} - restart: always - depends_on: - - drone-server - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - environment: - DRONE_RPC_PROTO: http - DRONE_RPC_HOST: ${DRONE_SERVER_CONTAINER_NAME} - DRONE_RPC_SECRET: ${DRONE_RPC_SECRET} - DRONE_RUNNER_CAPACITY: ${DRONE_RUNNER_CAPACITY} - DRONE_RUNNER_NAME: ${DRONE_RUNNER_NAME} - DRONE_UI_USERNAME: ${DRONE_RUNNER_UI_USERNAME} - DRONE_UI_PASSWORD: ${DRONE_RUNNER_UI_PASSWORD} - DRONE_DEBUG: 'true' diff --git a/drone/runner/.env b/drone/runner/.env new file mode 100644 index 0000000..5d5dbf0 --- /dev/null +++ b/drone/runner/.env @@ -0,0 +1,36 @@ +######## +# DOCKER + +#DOCKER_CONTEXT= +#DOCKER_HOST= +SERVICES_DIR=../.. +COMPOSE_FILE=${SERVICES_DIR}/drone/runner/docker-compose.yml:${SERVICES_DIR}/drone/runner/docker-compose.traefik.yml:${SERVICES_DIR}/drone/runner/docker-compose.dashboard.yml +#COMPOSE_PROJECT_NAME= + + +## DRONE RUNNER +#https://docs.drone.io/runner/docker/configuration/reference/ + +### Docker +# https://hub.docker.com/r/drone/drone-runner-docker/tags +DRONE_RUNNER_IMAGE=drone/drone-runner-docker:1.8.0 +DRONE_RUNNER_CONTAINER_NAME=drone-server + +### Drone +# https://docs.drone.io/runner/docker/installation/linux/ +DRONE_RPC_HOST=drone.cool.life +DRONE_RPC_PROTO=https +DRONE_RPC_SECRET=change-me +DRONE_RUNNER_HOST=ci-runner.cool.life +DRONE_RUNNER_CAPACITY=2 +DRONE_RUNNER_NAME=drone-runner +DRONE_UI_USERNAME=resilien +DRONE_UI_PASSWORD=change-me +DRONE_UI_DISABLE=false + +######### +# TRAEFIK + +#TRAEFIK_NETWORK_NAME= +#TRAEFIK_ROUTER_NAME= # Don't use char '.' +#TRAEFIK_ENTRYPOINTS= diff --git a/drone/runner/README.md b/drone/runner/README.md new file mode 100644 index 0000000..6f41ef4 --- /dev/null +++ b/drone/runner/README.md @@ -0,0 +1,11 @@ +# Drone CI Runner + +Il existe plusieurs _runner_ nous parlerons ici que du _runner_ Docker. + +## Installation + +L'installation de la partie _runner_ a été coupée en plusieurs fichiers dont les noms sont assez explicites. De nombreux liens vers la documentation officielle ont été mis dans les fichiers _Docker Compose_. + +Il est possible de mettre en place une interface utilisateur pour visualiser les logs, les tâches exécutées. C'est pratique pour débugger. + +Le coté multiplatforme permet d'avoir plusieurs _runner_ sur des architectures différentes selon là où on les déploie. diff --git a/drone/runner/docker-compose.dashboard.yml b/drone/runner/docker-compose.dashboard.yml new file mode 100644 index 0000000..4448db6 --- /dev/null +++ b/drone/runner/docker-compose.dashboard.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +# https://docs.drone.io/runner/docker/configuration/dashboard/ + +services: + drone-runner: + environment: + # https://docs.drone.io/runner/docker/configuration/reference/drone-ui-username/ + DRONE_UI_USERNAME: ${DRONE_UI_USERNAME:?err} + # https://docs.drone.io/runner/docker/configuration/reference/drone-ui-password/ + DRONE_UI_PASSWORD: ${DRONE_UI_PASSWORD:?err} + # https://docs.drone.io/runner/docker/configuration/reference/drone-ui-disable/ + DRONE_UI_DISABLE: ${DRONE_UI_DISABLE:-false} diff --git a/drone/runner/docker-compose.local.yml b/drone/runner/docker-compose.local.yml new file mode 100644 index 0000000..59c143a --- /dev/null +++ b/drone/runner/docker-compose.local.yml @@ -0,0 +1,8 @@ +--- + +version: "3.8" + +services: + drone-runner: + ports: + - "3000:3000" diff --git a/drone/runner/docker-compose.logging.yml b/drone/runner/docker-compose.logging.yml new file mode 100644 index 0000000..0d717ae --- /dev/null +++ b/drone/runner/docker-compose.logging.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +# https://docs.drone.io/runner/docker/configuration/logging/ + +services: + drone-runner: + environment: + # https://docs.drone.io/runner/docker/configuration/reference/drone-debug/ + DRONE_DEBUG: ${DRONE_DEBUG:-false} + # https://docs.drone.io/runner/docker/configuration/reference/drone-rpc-dump-http/ + DRONE_RPC_DUMP_HTTP: ${DRONE_RPC_DUMP_HTTP:-false} + # https://docs.drone.io/runner/docker/configuration/reference/drone-rpc-dump-http-body/ + DRONE_RPC_DUMP_HTTP_BODY: ${DRONE_RPC_DUMP_HTTP_BODY-:false} diff --git a/drone/runner/docker-compose.traefik.yml b/drone/runner/docker-compose.traefik.yml new file mode 100644 index 0000000..175112c --- /dev/null +++ b/drone/runner/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME} + +services: + drone-runner: + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-drone-runner}.rule=Host(`${DRONE_RUNNER_HOST:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-drone-runner}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/drone/runner/docker-compose.yml b/drone/runner/docker-compose.yml new file mode 100644 index 0000000..fcfd73b --- /dev/null +++ b/drone/runner/docker-compose.yml @@ -0,0 +1,26 @@ +--- + +version: "3.8" + +# https://docs.drone.io/runner/docker/installation/linux/ + +services: + drone-runner: + container_name: ${DRONE_RUNNER_CONTAINER_NAME} + image: ${DRONE_RUNNER_IMAGE:-drone/drone-runner-docker:1.8.0} + restart: always + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + environment: + # https://docs.drone.io/runner/docker/configuration/reference/drone-rpc-host/ + DRONE_RPC_HOST: ${DRONE_RPC_HOST:?err} + # https://docs.drone.io/runner/docker/configuration/reference/drone-rpc-proto/ + DRONE_RPC_PROTO: ${DRONE_RPC_PROTO:-https} + # https://docs.drone.io/runner/docker/configuration/reference/drone-rpc-secret/ + DRONE_RPC_SECRET: ${DRONE_RPC_SECRET:?err} + # https://docs.drone.io/runner/docker/configuration/reference/drone-runner-capacity/ + DRONE_RUNNER_CAPACITY: ${DRONE_RUNNER_CAPACITY:-2} + # https://docs.drone.io/runner/docker/configuration/reference/drone-runner-name/ + DRONE_RUNNER_NAME: ${DRONE_RUNNER_NAME} diff --git a/drone/server/.env b/drone/server/.env new file mode 100644 index 0000000..bd84bb6 --- /dev/null +++ b/drone/server/.env @@ -0,0 +1,65 @@ +######## +# DOCKER + +#DOCKER_CONTEXT= +#DOCKER_HOST= +SERVICES_DIR=../.. +COMPOSE_FILE=${SERVICES_DIR}/drone/server/docker-compose.yml:${SERVICES_DIR}/drone/server/docker-compose.user.yml:${SERVICES_DIR}/drone/server/docker-compose.traefik.yml:${SERVICES_DIR}/drone/server/docker-compose.postgres.yml:${SERVICES_DIR}/drone/server/docker-compose.header.yml:${SERVICES_DIR}/drone/server/docker-compose.gitea.yml:${SERVICES_DIR}/drone/server/docker-compose.cookie.yml:${SERVICES_DIR}/postgres/docker-compose.yml +#COMPOSE_PROJECT_NAME= + + +## DRONE SERVER +# https://docs.drone.io/server/reference/ + +### Docker +# https://hub.docker.com/r/drone/drone/tags +DRONE_SERVER_IMAGE=drone/drone:2.8.0 +DRONE_SERVER_VOLUME_NAME=drone-server +DRONE_SERVER_CONTAINER_NAME=drone-server + +### Drone + +DRONE_RPC_SECRET=change-me +DRONE_SERVER_HOST=ci.cool.life +DRONE_SERVER_PROTO=https + +### User +DRONE_ADMIN_USER=resilien +DRONE_ADMIN_TOKEN=change-me +DRONE_USER_FILTER=resilien +DRONE_REGISTRATION_CLOSED=true + +### Gitea +# https://docs.drone.io/server/provider/gitea/ +#DRONE_GIT_ALWAYS_AUTH= +DRONE_GITEA_SERVER=gitea.cool.life +DRONE_GITEA_CLIENT_ID=UI76T78G-HDZ8-7CSD-6SDZ-YUIDG8Z7DSQ8 +DRONE_GITEA_CLIENT_SECRET=change-me + +## Header +# https://docs.drone.io/server/headers/ +#DRONE_HTTP_SSL_REDIRECT= +#DRONE_HTTP_SSL_TEMPORARY_REDIRECT= +#DRONE_HTTP_SSL_HOST= +#DRONE_HTTP_STS_SECONDS= + +### Cookie +# https://docs.drone.io/server/cookie/ +DRONE_COOKIE_SECRET=change-me +#DRONE_COOKIE_TIMEOUT=720h + +### POSTGRES +# https://docs.drone.io/server/storage/encryption/ +DRONE_DATABASE_SECRET=change-me +POSTGRES_USER=user +POSTGRES_PASSWORD=password +POSTGRES_VOLUME_NAME=postgres +POSTGRES_CONTAINER_NAME=postgres +POSTGRES_DB=drone + +######### +# TRAEFIK + +#TRAEFIK_NETWORK_NAME= +#TRAEFIK_ROUTER_NAME= # Don't use char '.' +#TRAEFIK_ENTRYPOINTS= diff --git a/drone/server/README.md b/drone/server/README.md new file mode 100644 index 0000000..fc748b6 --- /dev/null +++ b/drone/server/README.md @@ -0,0 +1,41 @@ +# Drone CI Server + +## Installation + +L'installation de la partie serveur a été coupée en plusieurs fichiers dont les noms sont assez explicites. De nombreux liens vers la documentation officielle ont été mis dans les fichiers _Docker Compose_. + +## Configuration + +Une fois un Drone installé il faut le configurer avec l'utilisation du CLI. + +### Installation du CLI + +Voir la [documentation officielle](https://docs.drone.io/cli/install/#install-on-linux). + +### Configuration du CLI en local + +Il faut : +- l'url de l'instance (`DRONE_SERVER_HOST`) +- le protocol de l'instance (`DRONE_SERVER_PROTO`) +- le token de l'administrateur (`DRONE_ADMIN_TOKEN`) + +``` +export DRONE_SERVER=${DRONE_SERVER_PROTO}://${DRONE_SERVER_HOST} +export DRONE_TOKEN=${DRONE_ADMIN_TOKEN} +``` + +[Documentation officielle](https://docs.drone.io/cli/configure/) + +### Les utilisateurs + +Il faut ajouter les utilisateurs non admin : + +``` +drone user add kosssi +drone user add killian +drone user add prometheus --machine --token=${PROMETHEUS_TOKEN} +``` + +En n'oubliant pas au moment de l'installation d'identifier précisément les utilisateurs ayant le droit d'exécuter Drone avec la variable `DRONE_USER_FILTER=kosssi,killian,prometheus,${DRONE_ADMIN_USER}` + +[Documentation officielle](https://docs.drone.io/cli/user/drone-user-add/) diff --git a/drone/server/docker-compose.cookie.yml b/drone/server/docker-compose.cookie.yml new file mode 100644 index 0000000..99736ba --- /dev/null +++ b/drone/server/docker-compose.cookie.yml @@ -0,0 +1,13 @@ +--- + +version: "3.8" + +# https://docs.drone.io/server/cookie/ + +services: + drone-server: + environment: + # https://docs.drone.io/server/reference/drone-cookie-secret/ + DRONE_COOKIE_SECRET: ${DRONE_COOKIE_SECRET:?err} + # https://docs.drone.io/server/reference/drone-cookie-timeout/ + DRONE_COOKIE_TIMEOUT: ${DRONE_COOKIE_TIMEOUT:-720h} # Default value 30 days diff --git a/drone/server/docker-compose.gitea.yml b/drone/server/docker-compose.gitea.yml new file mode 100644 index 0000000..9ca4760 --- /dev/null +++ b/drone/server/docker-compose.gitea.yml @@ -0,0 +1,17 @@ +--- + +version: "3.8" + +# https://docs.drone.io/server/provider/gitea/ + +services: + drone-server: + environment: + # https://docs.drone.io/server/reference/drone-git-always-auth/ + DRONE_GIT_ALWAYS_AUTH: ${DRONE_GIT_ALWAYS_AUTH:-true} + # https://docs.drone.io/server/reference/drone-gitea-server/ + DRONE_GITEA_SERVER: ${DRONE_GITEA_SERVER:?err} + # https://docs.drone.io/server/reference/drone-gitea-client-id/ + DRONE_GITEA_CLIENT_ID: ${DRONE_GITEA_CLIENT_ID:?err} + # https://docs.drone.io/server/reference/drone-gitea-client-secret/ + DRONE_GITEA_CLIENT_SECRET: ${DRONE_GITEA_CLIENT_SECRET:?err} diff --git a/drone/server/docker-compose.header.yml b/drone/server/docker-compose.header.yml new file mode 100644 index 0000000..3607c71 --- /dev/null +++ b/drone/server/docker-compose.header.yml @@ -0,0 +1,13 @@ +--- + +version: "3.8" + +# https://docs.drone.io/server/headers/ + +services: + drone-server: + environment: + DRONE_HTTP_SSL_REDIRECT: ${DRONE_HTTP_SSL_REDIRECT:-true} + DRONE_HTTP_SSL_TEMPORARY_REDIRECT: ${DRONE_HTTP_SSL_TEMPORARY_REDIRECT:-true} + DRONE_HTTP_SSL_HOST: ${DRONE_SERVER_HOST} + DRONE_HTTP_STS_SECONDS: ${DRONE_HTTP_STS_SECONDS:-315360000} diff --git a/drone/server/docker-compose.local.yml b/drone/server/docker-compose.local.yml new file mode 100644 index 0000000..06436db --- /dev/null +++ b/drone/server/docker-compose.local.yml @@ -0,0 +1,8 @@ +--- + +version: "3.8" + +services: + drone-server: + ports: + - "3000:3000" diff --git a/drone/server/docker-compose.logging.yml b/drone/server/docker-compose.logging.yml new file mode 100644 index 0000000..62cc675 --- /dev/null +++ b/drone/server/docker-compose.logging.yml @@ -0,0 +1,19 @@ +--- + +version: "3.8" + +# https://docs.drone.io/server/logging/ + +services: + drone-server: + environment: + # https://docs.drone.io/server/reference/drone-logs-debug/ + DRONE_LOGS_DEBUG: ${DRONE_LOGS_DEBUG:-true} + # https://docs.drone.io/server/reference/drone-logs-text/ + DRONE_LOGS_TEXT: ${DRONE_LOGS_TEXT:-true} + # https://docs.drone.io/server/reference/drone-logs-pretty/ + DRONE_LOGS_PRETTY: ${DRONE_LOGS_PRETTY:-true} + # https://docs.drone.io/server/reference/drone-logs-color/ + DRONE_LOGS_COLOR: ${DRONE_LOGS_COLOR:-true} + # https://docs.drone.io/server/reference/drone-logs-trace/ + DRONE_LOGS_TRACE: ${DRONE_LOGS_TRACE:-false} diff --git a/drone/server/docker-compose.postgres.yml b/drone/server/docker-compose.postgres.yml new file mode 100644 index 0000000..c7e2be2 --- /dev/null +++ b/drone/server/docker-compose.postgres.yml @@ -0,0 +1,16 @@ +--- + +version: "3.8" + +# https://docs.drone.io/server/storage/database/ +# https://docs.drone.io/server/storage/encryption/ + +services: + drone-server: + environment: + # https://docs.drone.io/server/reference/drone-database-secret/ + DRONE_DATABASE_SECRET: ${DRONE_DATABASE_SECRET} + # https://docs.drone.io/server/reference/drone-database-driver/ + DRONE_DATABASE_DRIVER: postgres + # https://docs.drone.io/server/reference/drone-database-datasource/ + DRONE_DATABASE_DATASOURCE: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME:-postgres}:5432/${POSTGRES_DB:?err}?sslmode=disable diff --git a/drone/server/docker-compose.traefik.yml b/drone/server/docker-compose.traefik.yml new file mode 100644 index 0000000..47dc794 --- /dev/null +++ b/drone/server/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME} + +services: + drone-server: + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-drone-server}.rule=Host(`${DRONE_SERVER_HOST:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-drone-server}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/drone/server/docker-compose.user.yml b/drone/server/docker-compose.user.yml new file mode 100644 index 0000000..c4244e2 --- /dev/null +++ b/drone/server/docker-compose.user.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +# https://docs.drone.io/server/user/registration/ + +services: + drone-server: + environment: + # https://docs.drone.io/server/reference/drone-user-create/ + DRONE_USER_CREATE: username:${DRONE_ADMIN_USER:?err},machine:false,admin:true,token:${DRONE_ADMIN_TOKEN:?err} + # https://docs.drone.io/server/reference/drone-user-filter/ + DRONE_USER_FILTER: ${DRONE_USER_FILTER:?err} + # https://docs.drone.io/server/reference/drone-registration-closed/ + DRONE_REGISTRATION_CLOSED: ${DRONE_REGISTRATION_CLOSED:-true} diff --git a/drone/server/docker-compose.yml b/drone/server/docker-compose.yml new file mode 100644 index 0000000..b8ed7f7 --- /dev/null +++ b/drone/server/docker-compose.yml @@ -0,0 +1,24 @@ +--- + +version: "3.8" + +volumes: + drone-server: + name: ${DRONE_SERVER_VOLUME_NAME:-drone-server} + +services: + drone-server: + container_name: ${DRONE_SERVER_CONTAINER_NAME:-drone-server} + image: ${DRONE_SERVER_IMAGE:-drone/drone:2.8.0} + restart: always + environment: + # https://docs.drone.io/server/reference/drone-rpc-secret/ + DRONE_RPC_SECRET: ${DRONE_RPC_SECRET} + # https://docs.drone.io/server/reference/drone-server-host/ + DRONE_SERVER_HOST: ${DRONE_SERVER_HOST} + # https://docs.drone.io/server/reference/drone-server-proto/ + DRONE_SERVER_PROTO: ${DRONE_SERVER_PROTO:-https} + volumes: + - drone-server:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro -- 2.40.1 From 34e08f918372ef744104315a124176016211a7cd Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 26 Jan 2022 10:59:42 +0100 Subject: [PATCH 09/80] docs: Update documentation --- directus/.env | 1 + gitea/README.md | 2 +- grafana/README.md | 2 +- prometheus/README.md | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/directus/.env b/directus/.env index 6541d13..fd81f08 100644 --- a/directus/.env +++ b/directus/.env @@ -12,6 +12,7 @@ COMPOSE_FILE=${SERVICES_DIR}/directus/docker-compose.yml:${SERVICES_DIR}/directu # # see https://github.com/directus/directus/blob/main/api/example.env +DIRECTUS_CONTAINER_NAME=directus_cool_life DIRECTUS_DOMAIN=directus.cool.life DIRECTUS_PUBLIC_URL=https://${DIRECTUS_DOMAIN} DIRECTUS_KEY=255d861b-5ea1-5996-9aa3-922530ec40b1 diff --git a/gitea/README.md b/gitea/README.md index 3d33e51..18021d5 100644 --- a/gitea/README.md +++ b/gitea/README.md @@ -4,7 +4,7 @@ > > [Documentation][documentation] -Il est possible de configurer l'intégralité du service à l'aide de variable d'environnement voir [la documentation officiel](https://docs.gitea.io/en-us/install-with-docker/#managing-deployments-with-environment-variables). +Il est possible de configurer l'intégralité du service à l'aide de variable d'environnement voir [la documentation officielle](https://docs.gitea.io/en-us/install-with-docker/#managing-deployments-with-environment-variables). ## Commandes diff --git a/grafana/README.md b/grafana/README.md index 974bba8..8692bac 100644 --- a/grafana/README.md +++ b/grafana/README.md @@ -6,7 +6,7 @@ ## 🔧 Configuration -La configuration du service ce base sur la documentation officiel plusieurs pages sont intéressante à lire : +La configuration du service ce base sur la documentation officielle, plusieurs pages sont intéressantes à lire : - [Lancer l'image Docker de Grafana](https://grafana.com/docs/grafana/latest/installation/docker/) - [Configuration l'image Docker Grafana](https://grafana.com/docs/grafana/latest/administration/configure-docker/) - [Surcharger la configuration à l'aide des variables d'environment](https://grafana.com/docs/grafana/latest/administration/configuration/#override-configuration-with-environment-variables) diff --git a/prometheus/README.md b/prometheus/README.md index 3bc879d..caca743 100644 --- a/prometheus/README.md +++ b/prometheus/README.md @@ -6,7 +6,7 @@ ## 🔧 Configuration -Pour configurer le service il faut ajouter un fichier prometheus.yml décrivant votre configuration. Vous retrouverz toutes les informations sur la page de [documentation officiel](https://prometheus.io/docs/prometheus/latest/configuration/configuration/). +Pour configurer le service il faut ajouter un fichier prometheus.yml décrivant votre configuration. Vous retrouverz toutes les informations sur la page de [documentation officielle](https://prometheus.io/docs/prometheus/latest/configuration/configuration/). ## 🔗 Liens -- 2.40.1 From e301bb6b6472b2debffa78e7c1b9dca9bbd2a431 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 26 Jan 2022 11:09:23 +0100 Subject: [PATCH 10/80] fix(Postgres): Add container name or postgres by default on postgres host --- directus/docker-compose.yml | 2 +- gitea/docker-compose.yml | 2 +- grafana/docker-compose.postgres.yml | 2 +- hedgedoc/docker-compose.yml | 2 +- mobilizon/docker-compose.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index f41d446..3b588c0 100644 --- a/directus/docker-compose.yml +++ b/directus/docker-compose.yml @@ -28,7 +28,7 @@ services: PUBLIC_URL: ${DIRECTUS_PUBLIC_URL:?err} DB_CLIENT: 'pg' - DB_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} + DB_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8 DB_PORT: '5432' DB_DATABASE: ${POSTGRES_DB:?err} DB_USER: ${POSTGRES_USER:?err} diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 255d520..15415df 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -13,7 +13,7 @@ services: # - USER_UID=1000 # - USER_GID=1000 DB_TYPE: postgres - DB_HOST: postgres:5432 + 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} diff --git a/grafana/docker-compose.postgres.yml b/grafana/docker-compose.postgres.yml index b9fc41c..2958291 100644 --- a/grafana/docker-compose.postgres.yml +++ b/grafana/docker-compose.postgres.yml @@ -5,7 +5,7 @@ services: environment: # https://grafana.com/docs/grafana/latest/administration/configuration/#database GF_DATABASE_TYPE: postgres - GF_DATABASE_HOST: postgres # Name is same as ../postgres/docker-compose.yml:8 + GF_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8 GF_DATABASE_NAME: ${POSTGRES_DB:?err} GF_DATABASE_USER: ${POSTGRES_USER:?err} GF_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?err} diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 8b47dc8..0928bce 100644 --- a/hedgedoc/docker-compose.yml +++ b/hedgedoc/docker-compose.yml @@ -17,7 +17,7 @@ services: - /etc/localtime:/etc/localtime:ro environment: # https://docs.hedgedoc.org/configuration/ - CMD_DB_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:?err} + CMD_DB_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME:-postgres}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:?err} CMD_DOMAIN: ${HEDGEDOC_DOMAIN:?err} CMD_SESSION_SECRET: ${CMD_SESSION_SECRET:?err} NODE_ENV: ${NODE_ENV:-development} # `production` or `development` diff --git a/mobilizon/docker-compose.yml b/mobilizon/docker-compose.yml index e7f5c41..7a29ec5 100644 --- a/mobilizon/docker-compose.yml +++ b/mobilizon/docker-compose.yml @@ -31,7 +31,7 @@ services: MOBILIZON_DATABASE_USERNAME: ${POSTGRES_USER} MOBILIZON_DATABASE_PASSWORD: ${POSTGRES_PASSWORD} MOBILIZON_DATABASE_DBNAME: ${POSTGRES_DB} - MOBILIZON_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} + MOBILIZON_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8 MOBILIZON_INSTANCE_SECRET_KEY_BASE: ${MOBILIZON_INSTANCE_SECRET_KEY_BASE:?err} MOBILIZON_INSTANCE_SECRET_KEY: ${MOBILIZON_INSTANCE_SECRET_KEY:?err} -- 2.40.1 From c68c7ab7495d57e8a84c367359d1ed802e453900 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Feb 2022 10:14:52 +0100 Subject: [PATCH 11/80] chore(Drone): Upgrade to 2.9.1 https://github.com/harness/drone/blob/master/CHANGELOG.md --- drone/server/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drone/server/docker-compose.yml b/drone/server/docker-compose.yml index b8ed7f7..3cae11b 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.8.0} + image: ${DRONE_SERVER_IMAGE:-drone/drone:2.9.1} restart: always environment: # https://docs.drone.io/server/reference/drone-rpc-secret/ -- 2.40.1 From d75ffc2ad63fab154cc4d2c3ac0311491dc2fa19 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Feb 2022 10:20:40 +0100 Subject: [PATCH 12/80] chore(Traefik): Upgrade to 2.6.0 https://github.com/traefik/traefik/releases/tag/v2.6.0 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index dda54ae..c07e956 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.5.6} + image: ${TRAEFIK_IMAGE:-traefik:v2.6.0} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock -- 2.40.1 From 23c932580faa60e459cee9ef3c1bc92f6e64dd03 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Feb 2022 10:24:01 +0100 Subject: [PATCH 13/80] chore(Prometheus): Upgrade to 2.33.1 https://github.com/prometheus/prometheus/releases/tag/v2.33.1 --- prometheus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index 9299d38..4b922e7 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.32.1} + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.33.1} volumes: - prometheus:/prometheus restart: always -- 2.40.1 From 55430b3e8fddcee8e790f080607847d2b6d9f343 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Feb 2022 10:27:59 +0100 Subject: [PATCH 14/80] chore(Grafana): Upgrade to 8.3.4 https://github.com/grafana/grafana/releases/tag/v8.3.4 --- grafana/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index 566b19f..74fc068 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.3.3} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.3.4} restart: always volumes: - grafana:/var/lib/grafana -- 2.40.1 From 478fbac2be9493804ffe2bb5bc1a631c17415697 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Feb 2022 10:33:27 +0100 Subject: [PATCH 15/80] chore(Directus): Upgrade to 9.5.1 https://github.com/directus/directus/releases/tag/v9.5.1 --- directus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index 3b588c0..125f497 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.4.3} + image: ${DIRECTUS_IMAGE:-directus/directus:9.5.1} restart: always volumes: - directus:/directus/uploads -- 2.40.1 From 7f4140dea6bbe3c34509f312e8f3e64514dc77ce Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 9 Feb 2022 17:30:15 +0100 Subject: [PATCH 16/80] =?UTF-8?q?typo:=20R=C3=A9silien=20to=20R=C3=A9siLie?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/README.md b/examples/README.md index 6979a90..4853c00 100644 --- a/examples/README.md +++ b/examples/README.md @@ -14,4 +14,4 @@ Si nous allons dans le dossier `traefik.cool.life` par example, il est possible Si vous gérez des serveurs à distance, il est possible d'utiliser la variable `DOCKER_HOST` dans votre fichier `.env` pour expliquer que le service doit s’exécuter sur ce serveur. -> Résilien utilise maintenant ce système avec une génération automatique des fichiers .env à l'aide d'Ansible, nous permettant de facilement déployer un nouveau service, de le déplacer de serveur +> RésiLien utilise maintenant ce système avec une génération automatique des fichiers .env à l'aide d'Ansible, nous permettant de facilement déployer un nouveau service, de le déplacer de serveur -- 2.40.1 From d6671e5f1b04261a056d7b223fa2c50e8f90bb58 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 9 Feb 2022 17:57:03 +0100 Subject: [PATCH 17/80] docs: Update services --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 98a42f2..ee1b9dd 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,10 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien ### Pour les utilisateurs -- [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel -- [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration - [Directus](./directus) : Permet d'administrer une base de données +- [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel +- [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 ### Pour les devs / ops @@ -17,7 +18,8 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [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 -- [Docker Registry](./registry) : Une application qui permet de distribuer des images Docker +- [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 - [Watchtower](./watchtower) : Automatiser la mise à jour d'image docker -- 2.40.1 From 31935e4acf2215213c84fde351b34f0758e48d7f Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:12:43 +0100 Subject: [PATCH 18/80] chore(Gitea): Upgrade to 1.16.1 https://github.com/go-gitea/gitea/releases/tag/v1.16.1 --- gitea/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 15415df..7014e8c 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: gitea: container_name: ${GITEA_CONTAINER_NAME:-gitea} - image: ${GITEA_IMAGE:-gitea/gitea:1.15.5} + image: ${GITEA_IMAGE:-gitea/gitea:1.16.1@sha256:bd36095359861e6970705a70d58ae0536f92f0d3f2d25c18ed663e94380c546a} restart: always environment: # - USER_UID=1000 -- 2.40.1 From fe99e604d749c975f532ea2768be4b2af1c95361 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:13:40 +0100 Subject: [PATCH 19/80] chore(Grafana): Upgrade to 8.3.6 https://github.com/grafana/grafana/releases/tag/v8.3.6 --- grafana/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index 74fc068..6efdc70 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.3.4} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.3.6@sha256:5b71534e0a0329f243994a09340db6625b55a33ae218d71e34ec73f824ec1e48} restart: always volumes: - grafana:/var/lib/grafana -- 2.40.1 From 6bed3d6aa2d29dcb0eda1342e19f8f92ac931a31 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:14:39 +0100 Subject: [PATCH 20/80] chore(Postgres): Upgrade to 14.2 https://www.postgresql.org/docs/release/14.2/ --- postgres/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgres/docker-compose.yml b/postgres/docker-compose.yml index 95f5c69..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.1-alpine} + image: ${POSTGRES_IMAGE:-postgres:14.2-alpine@sha256:536bc3ad5d53f1b84db958be04013024aae70449c931943ad0a55c56c28f68b3} restart: always environment: POSTGRES_USER: ${POSTGRES_USER:?err} -- 2.40.1 From 7992eb4ffa28cc9707890c5cf5edd0eae79d2760 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:15:30 +0100 Subject: [PATCH 21/80] chore(Prometheus): Upgrade to 2.33.3 https://github.com/prometheus/prometheus/releases/tag/v2.33.3 --- prometheus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index 4b922e7..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.33.1} + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.33.3@sha256:20c90b9a99b12b4349150e347811cc44dccdb05c291d385320be63dc12cce73b} volumes: - prometheus:/prometheus restart: always -- 2.40.1 From 60394b5c9d7a4d595c07e9312c50f479d1f9729f Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:16:20 +0100 Subject: [PATCH 22/80] chore(Registry): Upgrade to 2.8.0 https://github.com/distribution/distribution/releases/tag/v2.8.0 --- registry/.env | 2 +- registry/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/registry/.env b/registry/.env index ac4869e..6771d73 100644 --- a/registry/.env +++ b/registry/.env @@ -5,7 +5,7 @@ TRAEFIK_NETWORK_NAME=kifeart ## REGISTRY -REGISTRY_IMAGE=registry:2.7.1 +#REGISTRY_IMAGE= REGISTRY_CUSTOM_IMAGE=custom/registry REGISTRY_DOMAIN=registry.cool.life REGISTRY_VOLUME_NAME=registry diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml index c987491..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} + image: ${REGISTRY_IMAGE:-registry:2.8.0@sha256:c26590bcf53822a542e78fab5c88e1dfbcdee91c1882f4656b7db7b542d91d97} restart: always environment: REGISTRY_AUTH: htpasswd -- 2.40.1 From b0a72c954cb0c2d85254bbed0c5613823a62c4a7 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:16:59 +0100 Subject: [PATCH 23/80] chore(Watchtower): Upgrade to 1.4.0 https://github.com/containrrr/watchtower/releases/tag/v1.4.0 --- watchtower/.env | 2 +- watchtower/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/watchtower/.env b/watchtower/.env index a00e64d..722e5d5 100644 --- a/watchtower/.env +++ b/watchtower/.env @@ -1,5 +1,5 @@ WATCHTOWER_CONTAINER_NAME=watchtower -WATCHTOWER_IMAGE=containrrr/watchtower:1.0.3 +#WATCHTOWER_IMAGE= REGISTRY_DOMAIN=registry.cool.life REGISTRY_USER=kosssi REGISTRY_PASSWORD=z91PjNYpswd4ai5YoMCw58VoygJSZev7qNJ0cAlPmPBD5pVz9O diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml index 52ee210..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} + image: ${WATCHTOWER_IMAGE:-containrrr/watchtower:1.4.0@sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3} restart: always command: -i 60 --label-enable --cleanup --debug # --debug -- 2.40.1 From 9f9948950cb74ef7335a149816d74b0f0c8e5697 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:17:49 +0100 Subject: [PATCH 24/80] feat(Docker): Add all sha256 on services --- directus/docker-compose.yml | 2 +- drone/runner/docker-compose.yml | 2 +- drone/server/docker-compose.yml | 2 +- hedgedoc/docker-compose.yml | 2 +- mobilizon/docker-compose.yml | 2 +- nextcloud/docker-compose.yml | 2 +- redis/docker-compose.yml | 2 +- traefik/docker-compose.yml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index 125f497..e19e469 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.5.1} + image: ${DIRECTUS_IMAGE:-directus/directus:9.5.1@sha256:c21099315f8720a12c65eea30b7450a96845ba17e9313e95a3fd23867b96c289} restart: always volumes: - directus:/directus/uploads 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 3cae11b..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.9.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/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 0928bce..142e092 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.2-ls39} + image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.2-ls44@sha256:e3e0ec428e043104ec626a4c89e09baf61bc8939f8a28979bdadf3a4fa6f513f} restart: always depends_on: - postgres 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/docker-compose.yml b/nextcloud/docker-compose.yml index 6e8f99b..7156317 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:22.2.3-fpm-alpine} + image: ${NEXTCLOUD_IMAGE:-nextcloud:22.2.3-fpm-alpine@sha256:de87108415631635649ad4b1027b6a6d06b80e28bcab87e38c59c1b943ef36d8} restart: always depends_on: - postgres diff --git a/redis/docker-compose.yml b/redis/docker-compose.yml index 35755cd..ed57335 100644 --- a/redis/docker-compose.yml +++ b/redis/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.8" 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: diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index c07e956..7f80d3d 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.0} + image: ${TRAEFIK_IMAGE:-traefik:v2.6.0@sha256:b22bd53ef626cf3667390c3e3651936b08f9c0c9107e3a6faf02e6dc06b3e0c0} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock -- 2.40.1 From c4735acbc5e95144342086b3af5ffed430e381ae Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 14 Feb 2022 10:31:18 +0100 Subject: [PATCH 25/80] chore(Nextcloud): Upgrade to 23.0.0 https://nextcloud.com/changelog/#latest23 --- nextcloud/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 7156317..7290799 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:22.2.3-fpm-alpine@sha256:de87108415631635649ad4b1027b6a6d06b80e28bcab87e38c59c1b943ef36d8} + image: ${NEXTCLOUD_IMAGE:-nextcloud:23.0.0-fpm-alpine@sha256:b02448c82a7fec3d1d0aacbeab466707929a9acbe7c069db4dca14166878ceb1} restart: always depends_on: - postgres -- 2.40.1 From ca15dfeca1178868e42919d7c092128f24f111a1 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 21 Feb 2022 22:47:11 +0100 Subject: [PATCH 26/80] chore(Grafana): Upgrade to 8.4.1 https://github.com/grafana/grafana/releases/tag/v8.4.0 https://github.com/grafana/grafana/releases/tag/v8.4.1 --- grafana/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index 6efdc70..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.3.6@sha256:5b71534e0a0329f243994a09340db6625b55a33ae218d71e34ec73f824ec1e48} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.1@sha256:c97cdf5f24c6a8a618ec416c7c9d3568f92e2b196f89e8c656e646c06d45975e} restart: always volumes: - grafana:/var/lib/grafana -- 2.40.1 From 248f2fc174c5dbea2b261b41426be055f6e7ee2c Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 21 Feb 2022 22:56:02 +0100 Subject: [PATCH 27/80] chore(Nextcloud): Upgrade to 23.0.2 https://nextcloud.com/changelog/#latest23 --- nextcloud/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 7290799..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:23.0.0-fpm-alpine@sha256:b02448c82a7fec3d1d0aacbeab466707929a9acbe7c069db4dca14166878ceb1} + image: ${NEXTCLOUD_IMAGE:-nextcloud:23.0.2-fpm-alpine@sha256:a9dec35fab6e244a7916afd6b6f738f26590ff8c94356406f34e5a3ea30bb8be} restart: always depends_on: - postgres -- 2.40.1 From ec62e7a14c3d9f51a4b9fddbf2bcb67146110f43 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 21 Feb 2022 23:00:00 +0100 Subject: [PATCH 28/80] chore(Traefik): Upgrade to 2.6.1 https://github.com/traefik/traefik/releases/tag/v2.6.1 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 7f80d3d..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.0@sha256:b22bd53ef626cf3667390c3e3651936b08f9c0c9107e3a6faf02e6dc06b3e0c0} + image: ${TRAEFIK_IMAGE:-traefik:v2.6.1@sha256:9c248cbc8c7f53de29903b1875a6d188e736916a0ef040e18707279993f39fe9} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock -- 2.40.1 From 4f2ae331df59944209117c96e0aa9a7d0e346acb Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 11:51:34 +0100 Subject: [PATCH 29/80] feat(Redis): Add volume name --- redis/docker-compose.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/redis/docker-compose.yml b/redis/docker-compose.yml index ed57335..cb7632b 100644 --- a/redis/docker-compose.yml +++ b/redis/docker-compose.yml @@ -1,5 +1,9 @@ version: "3.8" +volumes: + redis: + name: ${REDIS_VOLUME_NAME:-redis} + services: redis: image: ${REDIS_IMAGE:-redis:6.2.6-alpine@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d} @@ -9,5 +13,6 @@ services: PUID: ${REDIS_PUID:-1000} PGID: ${REDIS_PGID:-1000} volumes: + - redis:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro -- 2.40.1 From 557d35b9bfcf3034738f775ddd164b9823418762 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 11:56:17 +0100 Subject: [PATCH 30/80] docs(Redis): Add default variable on .env files --- directus/.env | 2 ++ grafana/.env | 4 ++++ nextcloud/.env | 2 ++ 3 files changed, 8 insertions(+) diff --git a/directus/.env b/directus/.env index fd81f08..b97bdd4 100644 --- a/directus/.env +++ b/directus/.env @@ -44,7 +44,9 @@ POSTGRES_VOLUME_NAME=directus-postgres ####### # REDIS +#REDIS_IMAGE= #REDIS_CONTAINER_NAME= +#REDIS_VOLUME_NAME= ######### # TRAEFIK diff --git a/grafana/.env b/grafana/.env index a7ee3e6..866aef5 100644 --- a/grafana/.env +++ b/grafana/.env @@ -34,6 +34,10 @@ GF_INSTALL_PLUGINS=grafana-piechart-panel ####### # REDIS +#REDIS_IMAGE= +#REDIS_CONTAINER_NAME= +#REDIS_VOLUME_NAME= + #GF_REMOTE_CACHE_CONNSTR= ######### diff --git a/nextcloud/.env b/nextcloud/.env index fd8e2e1..8cd5d60 100644 --- a/nextcloud/.env +++ b/nextcloud/.env @@ -39,7 +39,9 @@ POSTGRES_VOLUME_NAME=nextcloud-postgres ####### # REDIS +#REDIS_IMAGE= REDIS_CONTAINER_NAME=nextcloud-redis +#REDIS_VOLUME_NAME= ######### # TRAEFIK -- 2.40.1 From 0e1c155fbfcd05514a8f3e8d8de669c0d84fb9fa Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 15:55:18 +0100 Subject: [PATCH 31/80] feat(Docker): Remove hash because it depends on the architecture --- directus/docker-compose.yml | 2 +- drone/runner/docker-compose.yml | 2 +- drone/server/docker-compose.yml | 2 +- gitea/docker-compose.yml | 2 +- grafana/docker-compose.yml | 2 +- hedgedoc/docker-compose.yml | 2 +- mobilizon/docker-compose.yml | 2 +- nextcloud/docker-compose.yml | 2 +- postgres/docker-compose.yml | 2 +- prometheus/docker-compose.yml | 2 +- redis/docker-compose.yml | 2 +- registry/docker-compose.yml | 2 +- traefik/docker-compose.yml | 2 +- watchtower/docker-compose.yml | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index e19e469..125f497 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.5.1@sha256:c21099315f8720a12c65eea30b7450a96845ba17e9313e95a3fd23867b96c289} + image: ${DIRECTUS_IMAGE:-directus/directus:9.5.1} restart: always volumes: - directus:/directus/uploads diff --git a/drone/runner/docker-compose.yml b/drone/runner/docker-compose.yml index 6cdb98b..fcfd73b 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@sha256:70da970bb76a62567edbea1ac8002d9484664267f4cbb49fbd7c87a753d02260} + image: ${DRONE_RUNNER_IMAGE:-drone/drone-runner-docker:1.8.0} 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 daa903a..3cae11b 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.9.1@sha256:674e62c62cf41e06773c1b5e89687f1d514d49db6d1bb78678a5ef86927bc479} + image: ${DRONE_SERVER_IMAGE:-drone/drone:2.9.1} restart: always environment: # https://docs.drone.io/server/reference/drone-rpc-secret/ diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 7014e8c..7c3280e 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: gitea: container_name: ${GITEA_CONTAINER_NAME:-gitea} - image: ${GITEA_IMAGE:-gitea/gitea:1.16.1@sha256:bd36095359861e6970705a70d58ae0536f92f0d3f2d25c18ed663e94380c546a} + image: ${GITEA_IMAGE:-gitea/gitea:1.16.1} restart: always environment: # - USER_UID=1000 diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index e0e054a..2d7c4f6 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.1@sha256:c97cdf5f24c6a8a618ec416c7c9d3568f92e2b196f89e8c656e646c06d45975e} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.1} restart: always volumes: - grafana:/var/lib/grafana diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 142e092..07ca998 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.2-ls44@sha256:e3e0ec428e043104ec626a4c89e09baf61bc8939f8a28979bdadf3a4fa6f513f} + image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.2-ls44} restart: always depends_on: - postgres diff --git a/mobilizon/docker-compose.yml b/mobilizon/docker-compose.yml index 2317e3b..7a29ec5 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@sha256:a703d399c35b3b685be7c154bf2ac74f5acd88d8c28dd42f05f68859d76edfd3} + image: ${MOBILIZON_IMAGE:-framasoft/mobilizon:2.0.2} restart: always depends_on: - postgres diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 3050e3e..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:23.0.2-fpm-alpine@sha256:a9dec35fab6e244a7916afd6b6f738f26590ff8c94356406f34e5a3ea30bb8be} + image: ${NEXTCLOUD_IMAGE:-nextcloud:23.0.2-fpm-alpine} restart: always depends_on: - postgres diff --git a/postgres/docker-compose.yml b/postgres/docker-compose.yml index 70dd15c..44e7d0a 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@sha256:536bc3ad5d53f1b84db958be04013024aae70449c931943ad0a55c56c28f68b3} + image: ${POSTGRES_IMAGE:-postgres:14.2-alpine} restart: always environment: POSTGRES_USER: ${POSTGRES_USER:?err} diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index 32e9f77..ddad060 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.33.3@sha256:20c90b9a99b12b4349150e347811cc44dccdb05c291d385320be63dc12cce73b} + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.33.3} volumes: - prometheus:/prometheus restart: always diff --git a/redis/docker-compose.yml b/redis/docker-compose.yml index cb7632b..cb0bd58 100644 --- a/redis/docker-compose.yml +++ b/redis/docker-compose.yml @@ -6,7 +6,7 @@ volumes: services: redis: - image: ${REDIS_IMAGE:-redis:6.2.6-alpine@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d} + image: ${REDIS_IMAGE:-redis:6.2.6-alpine} container_name: ${REDIS_CONTAINER_NAME:-redis} restart: always environment: diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml index a6457ba..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.0@sha256:c26590bcf53822a542e78fab5c88e1dfbcdee91c1882f4656b7db7b542d91d97} + 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 de947d3..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.1@sha256:9c248cbc8c7f53de29903b1875a6d188e736916a0ef040e18707279993f39fe9} + image: ${TRAEFIK_IMAGE:-traefik:v2.6.1} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml index e0344e1..ed51860 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@sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3} + image: ${WATCHTOWER_IMAGE:-containrrr/watchtower:1.4.0} restart: always command: -i 60 --label-enable --cleanup --debug # --debug -- 2.40.1 From 58e5685b4d3674bdc742cb91ace1bd8dfdc8bee0 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 15:55:45 +0100 Subject: [PATCH 32/80] docs(Postgres): Add default variable --- postgres/.env | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/postgres/.env b/postgres/.env index 74b5f0e..1b5f33e 100644 --- a/postgres/.env +++ b/postgres/.env @@ -1,3 +1,7 @@ +#POSTGRES_VOLUME_NAME= +#POSTGRES_CONTAINER_NAME= +#POSTGRES_IMAGE= + POSTGRES_USER=user-example POSTGRES_PASSWORD=password-example POSTGRES_DB=postgres-database-name-example -- 2.40.1 From 607e6c83c28cf931f1765ab19a6593b5c871d2c4 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 16:01:09 +0100 Subject: [PATCH 33/80] feat(ClickHouse): Add new service --- README.md | 1 + clickhouse/.env | 3 +++ clickhouse/README.md | 16 ++++++++++++++++ clickhouse/docker-compose.yml | 19 +++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 clickhouse/.env create mode 100644 clickhouse/README.md create mode 100644 clickhouse/docker-compose.yml diff --git a/README.md b/README.md index ee1b9dd..05ba9ec 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien ### 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 - [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 diff --git a/clickhouse/.env b/clickhouse/.env new file mode 100644 index 0000000..f3216ca --- /dev/null +++ b/clickhouse/.env @@ -0,0 +1,3 @@ +#CLICKHOUSE_VOLUME_NAME= +#CLICKHOUSE_CONTAINER_NAME= +#CLICKHOUSE_IMAGE= diff --git a/clickhouse/README.md b/clickhouse/README.md new file mode 100644 index 0000000..54182f5 --- /dev/null +++ b/clickhouse/README.md @@ -0,0 +1,16 @@ +# 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 new file mode 100644 index 0000000..f22b192 --- /dev/null +++ b/clickhouse/docker-compose.yml @@ -0,0 +1,19 @@ +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 -- 2.40.1 From 895623732fc6aff2cca321d460fbdb8ce189e535 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 16:01:45 +0100 Subject: [PATCH 34/80] feat(GeoIP Update): Add new service --- README.md | 1 + geoipupdate/.env | 10 ++++++++++ geoipupdate/README.md | 14 ++++++++++++++ geoipupdate/docker-compose.yml | 22 ++++++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 geoipupdate/.env create mode 100644 geoipupdate/README.md create mode 100644 geoipupdate/docker-compose.yml diff --git a/README.md b/README.md index 05ba9ec..983d768 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [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 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. diff --git a/geoipupdate/.env b/geoipupdate/.env new file mode 100644 index 0000000..78546bd --- /dev/null +++ b/geoipupdate/.env @@ -0,0 +1,10 @@ +#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 new file mode 100644 index 0000000..7efc7fc --- /dev/null +++ b/geoipupdate/README.md @@ -0,0 +1,14 @@ +# 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 new file mode 100644 index 0000000..215090b --- /dev/null +++ b/geoipupdate/docker-compose.yml @@ -0,0 +1,22 @@ +--- + +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: + - geoip:${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: ${GEOIP_SCHEDULE:-72} + GEOIPUPDATE_VERBOSE: ${GEOIPUPDATE_VERBOSE:-false} + GEOIPUPDATE_DB_DIR: ${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP} -- 2.40.1 From 5d4d7ad7fb31a2a194cb4c410802a541cb2075a1 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 16:02:03 +0100 Subject: [PATCH 35/80] feat(Plausible): Add new service --- README.md | 1 + plausible/.env | 68 +++++++++++++++++++++++++ plausible/README.md | 15 ++++++ plausible/clickhouse-config.xml | 14 +++++ plausible/clickhouse-user-config.xml | 8 +++ plausible/docker-compose.clickhouse.yml | 7 +++ plausible/docker-compose.geoip.yml | 10 ++++ plausible/docker-compose.google.yml | 7 +++ plausible/docker-compose.local.yml | 6 +++ plausible/docker-compose.smtp.yml | 12 +++++ plausible/docker-compose.traefik.yml | 13 +++++ plausible/docker-compose.yml | 28 ++++++++++ 12 files changed, 189 insertions(+) create mode 100644 plausible/.env create mode 100644 plausible/README.md create mode 100644 plausible/clickhouse-config.xml create mode 100644 plausible/clickhouse-user-config.xml create mode 100644 plausible/docker-compose.clickhouse.yml create mode 100644 plausible/docker-compose.geoip.yml create mode 100644 plausible/docker-compose.google.yml create mode 100644 plausible/docker-compose.local.yml create mode 100644 plausible/docker-compose.smtp.yml create mode 100644 plausible/docker-compose.traefik.yml create mode 100644 plausible/docker-compose.yml diff --git a/README.md b/README.md index 983d768..60e30a6 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel - [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. ### Pour les devs / ops diff --git a/plausible/.env b/plausible/.env new file mode 100644 index 0000000..755d2c5 --- /dev/null +++ b/plausible/.env @@ -0,0 +1,68 @@ +######## +# 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=http://localhost: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== + +## 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 new file mode 100644 index 0000000..30e97e1 --- /dev/null +++ b/plausible/README.md @@ -0,0 +1,15 @@ +# 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 new file mode 100644 index 0000000..ddd5f1c --- /dev/null +++ b/plausible/clickhouse-config.xml @@ -0,0 +1,14 @@ + + + warning + true + + + + + + + + + + diff --git a/plausible/clickhouse-user-config.xml b/plausible/clickhouse-user-config.xml new file mode 100644 index 0000000..f795286 --- /dev/null +++ b/plausible/clickhouse-user-config.xml @@ -0,0 +1,8 @@ + + + + 0 + 0 + + + diff --git a/plausible/docker-compose.clickhouse.yml b/plausible/docker-compose.clickhouse.yml new file mode 100644 index 0000000..443d044 --- /dev/null +++ b/plausible/docker-compose.clickhouse.yml @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..6c9fe71 --- /dev/null +++ b/plausible/docker-compose.geoip.yml @@ -0,0 +1,10 @@ +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 new file mode 100644 index 0000000..dfb4c6c --- /dev/null +++ b/plausible/docker-compose.google.yml @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..f1ceb7f --- /dev/null +++ b/plausible/docker-compose.local.yml @@ -0,0 +1,6 @@ +version: "3.8" + +services: + plausible: + ports: + - ${LOCAL_PORT:-8000}:8000 diff --git a/plausible/docker-compose.smtp.yml b/plausible/docker-compose.smtp.yml new file mode 100644 index 0000000..fc0dea5 --- /dev/null +++ b/plausible/docker-compose.smtp.yml @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000..04cd7b6 --- /dev/null +++ b/plausible/docker-compose.traefik.yml @@ -0,0 +1,13 @@ +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 new file mode 100644 index 0000000..b535e93 --- /dev/null +++ b/plausible/docker-compose.yml @@ -0,0 +1,28 @@ +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: ${PLAUSIBLE_DOMAIN} + 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} + volumes: + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro -- 2.40.1 From 7bc9788cd8ea66cb7088cf7be2df1b5c37d23f01 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 16:28:41 +0100 Subject: [PATCH 36/80] fix(Plausible): BASE_URL != PLAUSIBLE_DOMAIN --- plausible/.env | 3 ++- plausible/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plausible/.env b/plausible/.env index 755d2c5..f4b4b29 100644 --- a/plausible/.env +++ b/plausible/.env @@ -9,7 +9,8 @@ COMPOSE_FILE=${SERVICES_DIR}/plausible/docker-compose.yml:${SERVICES_DIR}/plausi ## APP -PLAUSIBLE_DOMAIN=http://localhost:8000 +PLAUSIBLE_DOMAIN=localhost +BASE_URL=http://${PLAUSIBLE_DOMAIN}:8000 #PLAUSIBLE_CONTAINER_NAME=plausible #PLAUSIBLE_VOLUME_NAME=plausible #PLAUSIBLE_IMAGE=plausible/analytics:v1.4.4 diff --git a/plausible/docker-compose.yml b/plausible/docker-compose.yml index b535e93..f8875e4 100644 --- a/plausible/docker-compose.yml +++ b/plausible/docker-compose.yml @@ -17,7 +17,7 @@ services: ADMIN_USER_NAME: ${ADMIN_USER_NAME:?err} ADMIN_USER_EMAIL: ${ADMIN_USER_EMAIL:?err} ADMIN_USER_PWD: ${ADMIN_USER_PWD:?err} - BASE_URL: ${PLAUSIBLE_DOMAIN} + BASE_URL: ${BASE_URL} SECRET_KEY_BASE: ${SECRET_KEY_BASE:?err} DISABLE_AUTH: ${DISABLE_AUTH:-false} DISABLE_REGISTRATION: ${DISABLE_REGISTRATION:-false} -- 2.40.1 From 361f9b7d69ab7c65857f4ca2fd3a776919ae0f27 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 16:58:44 +0100 Subject: [PATCH 37/80] fix(GeoIp Update): volume name --- geoipupdate/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoipupdate/docker-compose.yml b/geoipupdate/docker-compose.yml index 215090b..dc3a99d 100644 --- a/geoipupdate/docker-compose.yml +++ b/geoipupdate/docker-compose.yml @@ -12,7 +12,7 @@ services: container_name: ${GEOIPUPDATE_CONTAINER_NAME:-geoip-updater} restart: always volumes: - - geoip:${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP} + - geoipupdate:${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP} environment: GEOIPUPDATE_ACCOUNT_ID: ${GEOIPUPDATE_ACCOUNT_ID:?err} GEOIPUPDATE_LICENSE_KEY: ${GEOIPUPDATE_LICENSE_KEY:?err} -- 2.40.1 From 30fd1db0a325d1690686527b78813291a1371a1e Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 19:12:54 +0100 Subject: [PATCH 38/80] fix(GeoIP Update): Frequency --- geoipupdate/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoipupdate/docker-compose.yml b/geoipupdate/docker-compose.yml index dc3a99d..9e83d1e 100644 --- a/geoipupdate/docker-compose.yml +++ b/geoipupdate/docker-compose.yml @@ -17,6 +17,6 @@ services: GEOIPUPDATE_ACCOUNT_ID: ${GEOIPUPDATE_ACCOUNT_ID:?err} GEOIPUPDATE_LICENSE_KEY: ${GEOIPUPDATE_LICENSE_KEY:?err} GEOIPUPDATE_EDITION_IDS: ${GEOIPUPDATE_EDITION_IDS:-GeoLite2-City} - GEOIPUPDATE_FREQUENCY: ${GEOIP_SCHEDULE:-72} + GEOIPUPDATE_FREQUENCY: ${GEOIPUPDATE_FREQUENCY:-72} GEOIPUPDATE_VERBOSE: ${GEOIPUPDATE_VERBOSE:-false} GEOIPUPDATE_DB_DIR: ${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP} -- 2.40.1 From d951d0c8f56df301c5de361b9daaaf6033eb2d82 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 22 Feb 2022 19:13:15 +0100 Subject: [PATCH 39/80] docs(Plausible): Add default variables --- plausible/.env | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plausible/.env b/plausible/.env index f4b4b29..80eebb8 100644 --- a/plausible/.env +++ b/plausible/.env @@ -19,6 +19,8 @@ ADMIN_USER_NAME=example ADMIN_USER_EMAIL=email@example.org ADMIN_USER_PWD=change-me SECRET_KEY_BASE=AFnMQwN54ovHIqCQQGFZX5gUFpgpxasCEnzQwQsyfZLPRbiwzDYAqYDJQlQM8SbmicVJr97axXaSCfXD9zSEQQ== +#DISABLE_AUTH= +#DISABLE_REGISTRATION= ## POSTGRES -- 2.40.1 From 768bf9b71d6731cb7f479f979322c62d40637800 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 23 Feb 2022 09:59:05 +0100 Subject: [PATCH 40/80] feat(Plausible): Add more environment variables --- plausible/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plausible/docker-compose.yml b/plausible/docker-compose.yml index f8875e4..56ed4f9 100644 --- a/plausible/docker-compose.yml +++ b/plausible/docker-compose.yml @@ -23,6 +23,8 @@ services: 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} volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro -- 2.40.1 From 47ce108eb6c990208e8e5c6f45afa846fa3d596d Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 10:58:08 +0100 Subject: [PATCH 41/80] chore(Directus): Upgrade to 9.6.0 https://github.com/directus/directus/releases/tag/v9.6.0 --- directus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index 125f497..b44ba75 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.5.1} + image: ${DIRECTUS_IMAGE:-directus/directus:9.6.0} restart: always volumes: - directus:/directus/uploads -- 2.40.1 From a60026a6726b14d1df33c710f77cc807c577f99f Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 11:09:18 +0100 Subject: [PATCH 42/80] chore(Grafana): Upgrade to 8.4.3 https://github.com/grafana/grafana/releases/tag/v8.4.3 --- grafana/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index 2d7c4f6..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.1} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.3} restart: always volumes: - grafana:/var/lib/grafana -- 2.40.1 From 63246c442c008f64f999066342be21232f7f85c6 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 11:11:39 +0100 Subject: [PATCH 43/80] chore(Prometheus): Upgrade to 2.33.4 https://github.com/prometheus/prometheus/releases/tag/v2.33.4 --- prometheus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index ddad060..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.33.3} + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.33.4} volumes: - prometheus:/prometheus restart: always -- 2.40.1 From 1931adafa4c304461e7cc61928bc0fa5c374a571 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 11:15:32 +0100 Subject: [PATCH 44/80] chore(Drone Server): Upgrade to 2.10.0 https://github.com/harness/drone/releases/tag/v2.10.0 --- drone/server/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drone/server/docker-compose.yml b/drone/server/docker-compose.yml index 3cae11b..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.9.1} + image: ${DRONE_SERVER_IMAGE:-drone/drone:2.10.0} restart: always environment: # https://docs.drone.io/server/reference/drone-rpc-secret/ -- 2.40.1 From 1f7e6102970c60cc722bf38745b1e0b0035e9dc3 Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 11:20:33 +0100 Subject: [PATCH 45/80] chore(Gitea): Upgrade to 1.16.3 https://github.com/go-gitea/gitea/releases/tag/v1.16.3 --- gitea/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 7c3280e..a43804e 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: gitea: container_name: ${GITEA_CONTAINER_NAME:-gitea} - image: ${GITEA_IMAGE:-gitea/gitea:1.16.1} + image: ${GITEA_IMAGE:-gitea/gitea:1.16.3} restart: always environment: # - USER_UID=1000 -- 2.40.1 From cfd8b5a2ce5f9ce4282167c15c9af50169904c7a Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 11:51:21 +0100 Subject: [PATCH 46/80] feat(Directus): Add timezone variable --- directus/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index b44ba75..cc5f093 100644 --- a/directus/docker-compose.yml +++ b/directus/docker-compose.yml @@ -13,8 +13,6 @@ services: restart: always volumes: - directus:/directus/uploads - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro depends_on: - postgres - redis @@ -34,5 +32,7 @@ services: DB_USER: ${POSTGRES_USER:?err} DB_PASSWORD: ${POSTGRES_PASSWORD:?err} + TZ: ${TZ:-Europe/Paris} + PUID: ${DIRECTUS_PUID:-1000} PGID: ${DIRECTUS_PGID:-1000} -- 2.40.1 From c4248a6f97b5b9bc45d7225ef87849d86524ba4f Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 11:51:48 +0100 Subject: [PATCH 47/80] feat(Plausible): Add log level variable --- plausible/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/plausible/docker-compose.yml b/plausible/docker-compose.yml index 56ed4f9..1834df3 100644 --- a/plausible/docker-compose.yml +++ b/plausible/docker-compose.yml @@ -25,6 +25,7 @@ services: 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 -- 2.40.1 From db74e9229169a74f1eb891d5c374cb30c86b9abc Mon Sep 17 00:00:00 2001 From: Simon C Date: Mon, 7 Mar 2022 16:02:21 +0100 Subject: [PATCH 48/80] fix(Hedgedoc): Update backup folder --- hedgedoc/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 07ca998..27c08a6 100644 --- a/hedgedoc/docker-compose.yml +++ b/hedgedoc/docker-compose.yml @@ -12,7 +12,7 @@ services: depends_on: - postgres volumes: - - hedgedoc:/opt/hedgedoc/public/uploads + - hedgedoc:/config/uploads - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: -- 2.40.1 From 9d3175df696e2c20a0c6a397271a382afad50a8d Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 22:56:15 +0200 Subject: [PATCH 49/80] chore(Directus): Upgrade to 9.8.0 https://github.com/directus/directus/releases/tag/v9.8.0 --- directus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml index cc5f093..1422d1d 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.6.0} + image: ${DIRECTUS_IMAGE:-directus/directus:9.8.0} restart: always volumes: - directus:/directus/uploads -- 2.40.1 From 62a5159232de209d18dbbe51c15d5eb31bf3ec02 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 22:58:18 +0200 Subject: [PATCH 50/80] chore(Drone): Upgrade to 2.11.1 https://github.com/harness/drone/releases/tag/v2.11.1 --- drone/server/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drone/server/docker-compose.yml b/drone/server/docker-compose.yml index ed28ce5..ae49725 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.10.0} + image: ${DRONE_SERVER_IMAGE:-drone/drone:2.11.1} restart: always environment: # https://docs.drone.io/server/reference/drone-rpc-secret/ -- 2.40.1 From 3a7e863d0cf343ad57db63bf856f66fc25a1e6c7 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 22:59:46 +0200 Subject: [PATCH 51/80] chore(Gitea): Upgrade to 1.16.5 https://github.com/go-gitea/gitea/releases/tag/v1.16.5 --- gitea/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index a43804e..a2ae51c 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -7,7 +7,7 @@ volumes: services: gitea: container_name: ${GITEA_CONTAINER_NAME:-gitea} - image: ${GITEA_IMAGE:-gitea/gitea:1.16.3} + image: ${GITEA_IMAGE:-gitea/gitea:1.16.5} restart: always environment: # - USER_UID=1000 -- 2.40.1 From 7498f639746ba5b3f645aa7c9ae03209d07653da Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 23:03:44 +0200 Subject: [PATCH 52/80] chore(Grafana): Upgrade to 8.4.6 https://github.com/grafana/grafana/releases/tag/v8.4.6 --- grafana/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index dcba3c7..88aa1f9 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.3} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.6} restart: always volumes: - grafana:/var/lib/grafana -- 2.40.1 From 5b6ce7cfcdec19677a61a117e8eb25f8b7f17920 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 23:08:01 +0200 Subject: [PATCH 53/80] chore(Hedgedoc): Upgrade to 1.9.3 https://github.com/hedgedoc/hedgedoc/releases/tag/1.9.3 --- hedgedoc/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml index 27c08a6..204d0a2 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.2-ls44} + image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.3-ls53} restart: always depends_on: - postgres -- 2.40.1 From ec4ae3a8b8571d7be1aa162a08e59bb7169debac Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 23:10:15 +0200 Subject: [PATCH 54/80] chore(Nextcloud): Upgrade to 23.0.3 https://nextcloud.com/changelog/#latest23 --- nextcloud/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index c6efa21..909e536 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:23.0.2-fpm-alpine} + image: ${NEXTCLOUD_IMAGE:-nextcloud:23.0.3-fpm-alpine} restart: always depends_on: - postgres -- 2.40.1 From 10337ac53cbbfab3f8fbccdbdf551aa743bf9fe5 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 23:13:22 +0200 Subject: [PATCH 55/80] chore(Prometheus): Upgrade to 2.34.0 https://github.com/prometheus/prometheus/releases/tag/v2.34.0 --- prometheus/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml index 66fd702..b97b1e3 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.33.4} + PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.34.0} volumes: - prometheus:/prometheus restart: always -- 2.40.1 From 8da5cc41eda6c103eca0c586f4a5d0d71eb021cc Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 23:15:32 +0200 Subject: [PATCH 56/80] chore(Registry): Upgrade to 2.8.1 https://github.com/distribution/distribution/releases/tag/v2.8.1 --- registry/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml index 003cce9..fd228a9 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.0} + image: ${REGISTRY_IMAGE:-registry:2.8.1} restart: always environment: REGISTRY_AUTH: htpasswd -- 2.40.1 From ec25f4b76f8317f756cdebf25907396fafb694d9 Mon Sep 17 00:00:00 2001 From: Simon C Date: Wed, 13 Apr 2022 23:16:23 +0200 Subject: [PATCH 57/80] chore(Traefik): Upgrade to 2.6.3 https://github.com/traefik/traefik/releases/tag/v2.6.3 --- traefik/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 61e093e..651a062 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.1} + image: ${TRAEFIK_IMAGE:-traefik:v2.6.3} restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock -- 2.40.1 From efcd3891ba37daa11d4a45a8b0c395e552256697 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 15 Apr 2022 14:54:08 +0200 Subject: [PATCH 58/80] feat(Vikunja): Add new service --- README.md | 3 +- vikunja/.env | 86 +++++++++++++++++++++++++++ vikunja/README.md | 12 ++++ vikunja/docker-compose.local.yml | 11 ++++ vikunja/docker-compose.logs.yml | 17 ++++++ vikunja/docker-compose.postgres.yml | 19 ++++++ vikunja/docker-compose.prometheus.yml | 10 ++++ vikunja/docker-compose.redis.yml | 16 +++++ vikunja/docker-compose.smtp.yml | 18 ++++++ vikunja/docker-compose.traefik.yml | 21 +++++++ vikunja/docker-compose.yml | 42 +++++++++++++ 11 files changed, 254 insertions(+), 1 deletion(-) create mode 100644 vikunja/.env create mode 100644 vikunja/README.md create mode 100644 vikunja/docker-compose.local.yml create mode 100644 vikunja/docker-compose.logs.yml create mode 100644 vikunja/docker-compose.postgres.yml create mode 100644 vikunja/docker-compose.prometheus.yml create mode 100644 vikunja/docker-compose.redis.yml create mode 100644 vikunja/docker-compose.smtp.yml create mode 100644 vikunja/docker-compose.traefik.yml create mode 100644 vikunja/docker-compose.yml diff --git a/README.md b/README.md index 60e30a6..f3ee893 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,8 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel - [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. +- [Plausible](./plausible) : Plausible est une plateforme d'analyse Web légère et open source +- [Vikunja](./vikunja) : L'application pour organiser sa vie ### Pour les devs / ops diff --git a/vikunja/.env b/vikunja/.env new file mode 100644 index 0000000..62a1d6f --- /dev/null +++ b/vikunja/.env @@ -0,0 +1,86 @@ +######## +# 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 new file mode 100644 index 0000000..708a150 --- /dev/null +++ b/vikunja/README.md @@ -0,0 +1,12 @@ +# 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 new file mode 100644 index 0000000..dbfbc28 --- /dev/null +++ b/vikunja/docker-compose.local.yml @@ -0,0 +1,11 @@ +version: "3.8" + +services: + vikunja_api: + ports: + - 3456:3456 + vikunja_frontend: + ports: + - ${LOCAL_PORT:-80}:80 + environment: + VIKUNJA_API_URL: http://localhost:3456/api/v1 \ No newline at end of file diff --git a/vikunja/docker-compose.logs.yml b/vikunja/docker-compose.logs.yml new file mode 100644 index 0000000..ec74292 --- /dev/null +++ b/vikunja/docker-compose.logs.yml @@ -0,0 +1,17 @@ +version: "3.8" + +# https://vikunja.io/docs/config-options/#log + +services: + vikunja_api: + environment: + # VIKUNJA_LOG_PATH + VIKUNJA_LOG_ENABLED: ${VIKUNJA_LOG_ENABLED:-true} + VIKUNJA_LOG_STANDARD: ${VIKUNJA_LOG_STANDARD:-stdout} + VIKUNJA_LOG_LEVEL: ${VIKUNJA_LOG_LEVEL:-INFO} # Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG. + VIKUNJA_LOG_DATABASE: ${VIKUNJA_LOG_DATABASE:-off} # Possible values are stdout, stderr, file or off to disable database + VIKUNJA_LOG_DATABASELEVEL: ${VIKUNJA_LOG_DATABASELEVEL:-WARNING} # Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG + VIKUNJA_LOG_HTTP: ${VIKUNJA_LOG_HTTP:-stdout} # Possible values are stdout, stderr, file or off to disable http logging. + VIKUNJA_LOG_ECHO: ${VIKUNJA_LOG_ECHO:-off} # Possible values are stdout, stderr, file or off to disable standard logging. + VIKUNJA_LOG_EVENTS: ${VIKUNJA_LOG_EVENTS:-stdout} # Possible values are stdout, stderr, file or off to disable events logging. + VIKUNJA_LOG_EVENTSLEVEL: ${VIKUNJA_LOG_EVENTSLEVEL:-INFO} # Possible values (case-insensitive) are ERROR, INFO, DEBUG. diff --git a/vikunja/docker-compose.postgres.yml b/vikunja/docker-compose.postgres.yml new file mode 100644 index 0000000..4193043 --- /dev/null +++ b/vikunja/docker-compose.postgres.yml @@ -0,0 +1,19 @@ +version: "3.8" + +# https://vikunja.io/docs/config-options/#database + +services: + vikunja_api: + depends_on: + - postgres + environment: + VIKUNJA_DATABASE_TYPE: ${VIKUNJA_DATABASE_TYPE:-postgres} + VIKUNJA_DATABASE_MAXOPENCONNECTIONS: ${VIKUNJA_DATABASE_MAXOPENCONNECTIONS:-100} + VIKUNJA_DATABASE_MAXIDLECONNECTIONS: ${VIKUNJA_DATABASE_MAXIDLECONNECTIONS:-50} + VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME: ${VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME:-10000} + VIKUNJA_DATABASE_SSLMODE: ${VIKUNJA_DATABASE_SSLMODE:-disable} + + VIKUNJA_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}:5432 # Default name is same as ../postgres/docker-compose.yml:8 + VIKUNJA_DATABASE_DATABASE: ${POSTGRES_DB:?err} + VIKUNJA_DATABASE_USER: ${POSTGRES_USER:?err} + VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?err} diff --git a/vikunja/docker-compose.prometheus.yml b/vikunja/docker-compose.prometheus.yml new file mode 100644 index 0000000..219ce35 --- /dev/null +++ b/vikunja/docker-compose.prometheus.yml @@ -0,0 +1,10 @@ +version: "3.8" + +# https://vikunja.io/docs/config-options/#metrics + +services: + vikunja_api: + environment: + VIKUNJA_METRICS_ENABLED: ${VIKUNJA_METRICS_ENABLED-:false} + VIKUNJA_METRICS_USERNAME: ${VIKUNJA_METRICS_USERNAME} + VIKUNJA_METRICS_PASSWORD: ${VIKUNJA_METRICS_PASSWORD} diff --git a/vikunja/docker-compose.redis.yml b/vikunja/docker-compose.redis.yml new file mode 100644 index 0000000..72289d6 --- /dev/null +++ b/vikunja/docker-compose.redis.yml @@ -0,0 +1,16 @@ +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 new file mode 100644 index 0000000..c9f98c2 --- /dev/null +++ b/vikunja/docker-compose.smtp.yml @@ -0,0 +1,18 @@ +version: "3.8" + +# https://vikunja.io/docs/config-options/#mailer + +services: + vikunja_api: + environment: + VIKUNJA_MAILER_ENABLED: ${VIKUNJA_MAILER_ENABLED:-true} + VIKUNJA_MAILER_SKIPTLSVERIFY: ${VIKUNJA_MAILER_SKIPTLSVERIFY:-false} + VIKUNJA_MAILER_QUEUELENGTH: ${VIKUNJA_MAILER_QUEUELENGTH:-100} + VIKUNJA_MAILER_QUEUETIMEOUT: ${VIKUNJA_MAILER_QUEUETIMEOUT:-30} + VIKUNJA_MAILER_FORCESSL: ${VIKUNJA_MAILER_FORCESSL:-false} + + VIKUNJA_MAILER_HOST: ${VIKUNJA_MAILER_HOST:?err} + VIKUNJA_MAILER_PORT: ${VIKUNJA_MAILER_PORT:-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 new file mode 100644 index 0000000..eabf6d1 --- /dev/null +++ b/vikunja/docker-compose.traefik.yml @@ -0,0 +1,21 @@ +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 new file mode 100644 index 0000000..db11ae4 --- /dev/null +++ b/vikunja/docker-compose.yml @@ -0,0 +1,42 @@ +version: "3.8" + +# https://vikunja.io/docs/config-options +# https://vikunja.io/docs/full-docker-example/ + +volumes: + vikunja: + name: ${VIKUNJA_VOLUME_NAME:-vikunja} + +services: + vikunja_api: + container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_api + image: ${VIKUNJA_API_IMAGE:-vikunja/api:0.18.1} + restart: always + environment: + VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET} + VIKUNJA_SERVICE_JWTTTL: ${VIKUNJA_SERVICE_JWTTTL:-259200} + VIKUNJA_SERVICE_JWTTTLLONG: ${VIKUNJA_SERVICE_JWTTTLLONG:-2592000} + + VIKUNJA_SERVICE_FRONTENDURL: ${VIKUNJA_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} -- 2.40.1 From cfc0771bb5dacab647e32961c3269da4185202b8 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 12 Jul 2022 10:23:14 +0200 Subject: [PATCH 59/80] docs(Registry): Add command to clean registry --- registry/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/registry/README.md b/registry/README.md index a644b38..56deffa 100644 --- a/registry/README.md +++ b/registry/README.md @@ -36,6 +36,12 @@ 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 : -- 2.40.1 From 912fe146af88a95ecd5553d8f614cf95b1773ffd Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 29 Nov 2022 22:55:55 +0100 Subject: [PATCH 60/80] feat(listmonk): Add new service --- README.md | 1 + listmonk/.env | 26 ++++++++++++++++++++++++ listmonk/README.md | 37 ++++++++++++++++++++++++++++++++++ listmonk/docker-compose.yml | 40 +++++++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 listmonk/.env create mode 100644 listmonk/README.md create mode 100644 listmonk/docker-compose.yml diff --git a/README.md b/README.md index f3ee893..348c871 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [Directus](./directus) : Permet d'administrer une base de données - [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel +- [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 diff --git a/listmonk/.env b/listmonk/.env new file mode 100644 index 0000000..0dea747 --- /dev/null +++ b/listmonk/.env @@ -0,0 +1,26 @@ +######## +# 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 new file mode 100644 index 0000000..50c403a --- /dev/null +++ b/listmonk/README.md @@ -0,0 +1,37 @@ +# 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 new file mode 100644 index 0000000..9732d9a --- /dev/null +++ b/listmonk/docker-compose.yml @@ -0,0 +1,40 @@ +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} -- 2.40.1 From cae7eafbe05361d5b572d57fc95029823d4c9b97 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 9 Dec 2022 21:12:55 +0100 Subject: [PATCH 61/80] feat(Uptime Kuma): Add new service --- README.md | 3 ++- uptimekuma/README.md | 21 +++++++++++++++++++++ uptimekuma/docker-compose.local.yml | 8 ++++++++ uptimekuma/docker-compose.traefik.yml | 15 +++++++++++++++ uptimekuma/docker-compose.yml | 17 +++++++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 uptimekuma/README.md create mode 100644 uptimekuma/docker-compose.local.yml create mode 100644 uptimekuma/docker-compose.traefik.yml create mode 100644 uptimekuma/docker-compose.yml diff --git a/README.md b/README.md index 348c871..f3dcd8f 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,14 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [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 auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab. +- [Gitea](./gitea) : Un service Git très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab. - [Grafana](./grafana) : Un outil de supervision simple et élégant - [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/uptimekuma/README.md b/uptimekuma/README.md new file mode 100644 index 0000000..1d1a56f --- /dev/null +++ b/uptimekuma/README.md @@ -0,0 +1,21 @@ +# 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. + +## 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 new file mode 100644 index 0000000..7a90473 --- /dev/null +++ b/uptimekuma/docker-compose.local.yml @@ -0,0 +1,8 @@ +--- + +version: "3.8" + +services: + uptimekuma: + ports: + - 3001:3001 diff --git a/uptimekuma/docker-compose.traefik.yml b/uptimekuma/docker-compose.traefik.yml new file mode 100644 index 0000000..ff7d31c --- /dev/null +++ b/uptimekuma/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +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 new file mode 100644 index 0000000..8a087de --- /dev/null +++ b/uptimekuma/docker-compose.yml @@ -0,0 +1,17 @@ +--- + +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 -- 2.40.1 From c9ef1d34a107f67c88aa69f3a05fca8ae07639b6 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 9 Dec 2022 22:12:23 +0100 Subject: [PATCH 62/80] feat(Uptime Kuma): Add documentation and default .env --- uptimekuma/.env | 20 ++++++++++++++++++++ uptimekuma/README.md | 1 + 2 files changed, 21 insertions(+) create mode 100644 uptimekuma/.env diff --git a/uptimekuma/.env b/uptimekuma/.env new file mode 100644 index 0000000..a67d401 --- /dev/null +++ b/uptimekuma/.env @@ -0,0 +1,20 @@ +######## +# 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 index 1d1a56f..0505ee5 100644 --- a/uptimekuma/README.md +++ b/uptimekuma/README.md @@ -7,6 +7,7 @@ - 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 -- 2.40.1 From 747d158f583ea04fc834f3030b23e47086d79431 Mon Sep 17 00:00:00 2001 From: Simon C Date: Sat, 31 Dec 2022 14:35:36 +0100 Subject: [PATCH 63/80] feat(Vaultwarden): Add new service --- README.md | 1 + vaultwarden/.env | 46 +++++++++++++++++++++++++ vaultwarden/README.md | 21 +++++++++++ vaultwarden/docker-compose.postgres.yml | 8 +++++ vaultwarden/docker-compose.smtp.yml | 15 ++++++++ vaultwarden/docker-compose.traefik.yml | 15 ++++++++ vaultwarden/docker-compose.yml | 23 +++++++++++++ 7 files changed, 129 insertions(+) create mode 100644 vaultwarden/.env create mode 100644 vaultwarden/README.md create mode 100644 vaultwarden/docker-compose.postgres.yml create mode 100644 vaultwarden/docker-compose.smtp.yml create mode 100644 vaultwarden/docker-compose.traefik.yml create mode 100644 vaultwarden/docker-compose.yml diff --git a/README.md b/README.md index f3dcd8f..065f41f 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [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 diff --git a/vaultwarden/.env b/vaultwarden/.env new file mode 100644 index 0000000..0c01add --- /dev/null +++ b/vaultwarden/.env @@ -0,0 +1,46 @@ +######## +# 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 new file mode 100644 index 0000000..b799a9d --- /dev/null +++ b/vaultwarden/README.md @@ -0,0 +1,21 @@ +# 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 new file mode 100644 index 0000000..49fc448 --- /dev/null +++ b/vaultwarden/docker-compose.postgres.yml @@ -0,0 +1,8 @@ +--- + +version: "3.8" + +services: + vaultwarden: + environment: + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_CONTAINER_NAME}:5432/${POSTGRES_DB} \ No newline at end of file diff --git a/vaultwarden/docker-compose.smtp.yml b/vaultwarden/docker-compose.smtp.yml new file mode 100644 index 0000000..21ca579 --- /dev/null +++ b/vaultwarden/docker-compose.smtp.yml @@ -0,0 +1,15 @@ +--- + +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 new file mode 100644 index 0000000..e191542 --- /dev/null +++ b/vaultwarden/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +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 new file mode 100644 index 0000000..59cbb88 --- /dev/null +++ b/vaultwarden/docker-compose.yml @@ -0,0 +1,23 @@ +--- + +version: "3.8" + +volumes: + vaultwarden: + name: ${VAULTWARDEN_VOLUME_NAME:-vaultwarden} + +services: + vaultwarden: + image: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden/server:1.27.0-alpine} + container_name: vaultwarden + restart: always + depends_on: + - postgres + 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 -- 2.40.1 From c631f47ae10f59f88a20e4fd3ad734fab65a1b5c Mon Sep 17 00:00:00 2001 From: Simon C Date: Sat, 31 Dec 2022 15:14:20 +0100 Subject: [PATCH 64/80] feat(Vaultwarden): Add timezone information --- vaultwarden/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml index 59cbb88..288e328 100644 --- a/vaultwarden/docker-compose.yml +++ b/vaultwarden/docker-compose.yml @@ -21,3 +21,5 @@ services: SIGNUPS_ALLOWED: ${VAULTWARDEN_SIGNUPS_ALLOWED:-true} volumes: - vaultwarden:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro -- 2.40.1 From 62334b2f85be93643752909f352135e9e938ffb4 Mon Sep 17 00:00:00 2001 From: Simon C Date: Sat, 31 Dec 2022 15:22:32 +0100 Subject: [PATCH 65/80] feat(Vaultwarden): Ajout de la variable pour configurer le nom du service --- vaultwarden/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml index 288e328..07b34db 100644 --- a/vaultwarden/docker-compose.yml +++ b/vaultwarden/docker-compose.yml @@ -9,7 +9,7 @@ volumes: services: vaultwarden: image: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden/server:1.27.0-alpine} - container_name: vaultwarden + container_name: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden} restart: always depends_on: - postgres -- 2.40.1 From 4bf479d0e0dcea45ef1c6c0c44fa7f635e51de38 Mon Sep 17 00:00:00 2001 From: Simon C Date: Sat, 31 Dec 2022 15:24:38 +0100 Subject: [PATCH 66/80] feat(Vaultwarden): Move postgres dependency on postgres file --- vaultwarden/docker-compose.postgres.yml | 4 +++- vaultwarden/docker-compose.yml | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vaultwarden/docker-compose.postgres.yml b/vaultwarden/docker-compose.postgres.yml index 49fc448..58e2bf7 100644 --- a/vaultwarden/docker-compose.postgres.yml +++ b/vaultwarden/docker-compose.postgres.yml @@ -4,5 +4,7 @@ version: "3.8" services: vaultwarden: + depends_on: + - postgres environment: - DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_CONTAINER_NAME}:5432/${POSTGRES_DB} \ No newline at end of file + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_CONTAINER_NAME}:5432/${POSTGRES_DB} diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml index 07b34db..c2ca4a1 100644 --- a/vaultwarden/docker-compose.yml +++ b/vaultwarden/docker-compose.yml @@ -11,8 +11,6 @@ services: image: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden/server:1.27.0-alpine} container_name: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden} restart: always - depends_on: - - postgres environment: ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN:?err} DOMAIN: https://${VAULTWARDEN_DOMAIN:?err} -- 2.40.1 From 4e32136c261a82b26ed6284d946992843cca9919 Mon Sep 17 00:00:00 2001 From: Simon C Date: Sat, 31 Dec 2022 15:28:28 +0100 Subject: [PATCH 67/80] fix(Vaultwarden): Update image variable name --- vaultwarden/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml index c2ca4a1..97553ca 100644 --- a/vaultwarden/docker-compose.yml +++ b/vaultwarden/docker-compose.yml @@ -8,7 +8,7 @@ volumes: services: vaultwarden: - image: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden/server:1.27.0-alpine} + image: ${VAULTWARDEN_IMAGE:-vaultwarden/server:1.27.0-alpine} container_name: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden} restart: always environment: -- 2.40.1 From 0af258dcaedc6eccf175d141cea6c2424903039f Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 21:08:06 +0100 Subject: [PATCH 68/80] feat(Nextcloud): SMTP configuration should not be empty --- nextcloud/docker-compose.smtp.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nextcloud/docker-compose.smtp.yml b/nextcloud/docker-compose.smtp.yml index b8a880f..6343eed 100644 --- a/nextcloud/docker-compose.smtp.yml +++ b/nextcloud/docker-compose.smtp.yml @@ -3,11 +3,11 @@ version: "3.8" services: nextcloud-fpm: environment: - SMTP_HOST: ${SMTP_HOST?err} # The hostname of the SMTP server. + 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} + SMTP_NAME: ${SMTP_NAME:?err} + SMTP_PASSWORD: ${SMTP_PASSWORD:?err} + MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS:?err} + MAIL_DOMAIN: ${MAIL_DOMAIN:?err} -- 2.40.1 From fd63036294583b7698dcc3e4a7a9281b8b9811cf Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 21:08:48 +0100 Subject: [PATCH 69/80] feat(Nextcloud): Add all configuration on cron container --- nextcloud/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 909e536..5e06ef4 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -17,6 +17,7 @@ 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} @@ -53,8 +54,7 @@ services: - nextcloud-web entrypoint: /cron.sh environment: - PUID: ${NEXTCLOUD_PUID:-1000} - PGID: ${NEXTCLOUD_PGID:-1000} + <<: *fpm-configuration volumes: - nextcloud:/var/www/html - /etc/timezone:/etc/timezone:ro -- 2.40.1 From 2281c4337c8088f5b6506b5aa05b6b22a6e32ed0 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 21:09:37 +0100 Subject: [PATCH 70/80] feat(Nextcloud): Update web folder path with generic SERVICES_DIR --- nextcloud/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index 5e06ef4..f32a9f0 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -33,7 +33,7 @@ services: nextcloud-web: container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-web - build: web + build: ${SERVICES_DIR}/nextcloud/web restart: always environment: NEXTCLOUD_FPM_CONTAINER_NAME: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-fpm -- 2.40.1 From 0198c030e93e459329c0901d35ef7e990c5bdaed Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 21:20:13 +0100 Subject: [PATCH 71/80] feat(Nextcloud): Add environment variables to configure server --- nextcloud/.env | 2 +- nextcloud/docker-compose.config.yml | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 nextcloud/docker-compose.config.yml diff --git a/nextcloud/.env b/nextcloud/.env index 8cd5d60..15a8d09 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.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.config.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/docker-compose.config.yml b/nextcloud/docker-compose.config.yml new file mode 100644 index 0000000..f7491ce --- /dev/null +++ b/nextcloud/docker-compose.config.yml @@ -0,0 +1,21 @@ +--- +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 -- 2.40.1 From b3dce58f7b18d24f18856e18875df1267d3611a8 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 21:47:02 +0100 Subject: [PATCH 72/80] feat(Nextcloud): Update SMTP environment variables --- nextcloud/docker-compose.smtp.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/nextcloud/docker-compose.smtp.yml b/nextcloud/docker-compose.smtp.yml index 6343eed..60136d8 100644 --- a/nextcloud/docker-compose.smtp.yml +++ b/nextcloud/docker-compose.smtp.yml @@ -3,11 +3,16 @@ version: "3.8" services: nextcloud-fpm: environment: - 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:?err} - MAIL_DOMAIN: ${MAIL_DOMAIN:?err} + &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 -- 2.40.1 From b54891ec38af9bb4557acea97792fc1c752f68fd Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 22:01:55 +0100 Subject: [PATCH 73/80] chore(Nginx): Upgrade to 1.23.3 --- nextcloud/web/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud/web/Dockerfile b/nextcloud/web/Dockerfile index 2cde763..345321a 100644 --- a/nextcloud/web/Dockerfile +++ b/nextcloud/web/Dockerfile @@ -1,3 +1,3 @@ -FROM nginx:1.21.5-alpine +FROM nginx:1.23.3-alpine COPY nextcloud.conf.template /etc/nginx/templates/default.conf.template -- 2.40.1 From 669866b44e45dbbd36d7121d34c211b758c538df Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 22:10:29 +0100 Subject: [PATCH 74/80] docs(Nextcloud): Add environment variables documentation --- nextcloud/README.md | 83 +++++++++++++++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 25 deletions(-) diff --git a/nextcloud/README.md b/nextcloud/README.md index 2f04a15..0aca8d8 100644 --- a/nextcloud/README.md +++ b/nextcloud/README.md @@ -14,45 +14,78 @@ On peut trouver [la documentation ici][documentation] en anglais ou ici pour la ## Aide -Exemple de commande : +Commande pour se connecter à un serveur : ```sh -docker exec --user www-data -it nextcloud bash +. .env +docker exec --user www-data -it ${NEXTCLOUD_CONTAINER_NAME}-fpm ash +``` -docker-compose exec --user www-data nextcloud php occ db:add-missing-primary-keys +Pour mettre un site en maintenance : + +```sh +. .env +docker exec --user www-data -it ${NEXTCLOUD_CONTAINER_NAME}-fpm php occ maintenance:mode --on ``` ## Configuration -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. +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) -Voici les modifications que j'effectue : +### Création d'un groupe ``` -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, +export NC_GROUP=com-en-aubrac +php occ group:add $NC_GROUP ``` -Ajout de imagemagick : -``` -docker-compose exec nextcloud-fpm apk add --no-cache imagemagick -``` - -ou +### Création d'un utilisateur ``` -ssh -docker exec nextcloud-fpm apk add --no-cache 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 +``` + +### Quota + +Pour bien comprendre les quotas dans Nextcloud : https://docs.nextcloud.com/server/latest/user_manual/en/files/quota.html + +``` +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 ``` ## PHP-FPM: remédier à server reached pm.max_children -- 2.40.1 From 264688abf82d2460677c8aa239767186bd3595d0 Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 22:11:02 +0100 Subject: [PATCH 75/80] feat(Nextcloud): Remove run script --- nextcloud/run | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100755 nextcloud/run diff --git a/nextcloud/run b/nextcloud/run deleted file mode 100755 index a98ccba..0000000 --- a/nextcloud/run +++ /dev/null @@ -1,49 +0,0 @@ -#!/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 -- 2.40.1 From e3dcc0efd516663dadaeaaa5f95f17e225e32e4b Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 3 Jan 2023 22:15:37 +0100 Subject: [PATCH 76/80] chore(Nextcloud): Upgrade to 25.0.2 https://nextcloud.com/changelog/#25-0-2 --- nextcloud/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index f32a9f0..351eb38 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:23.0.3-fpm-alpine} + image: ${NEXTCLOUD_IMAGE:-nextcloud:25.0.2-fpm-alpine} restart: always depends_on: - postgres @@ -47,7 +47,7 @@ services: - /etc/localtime:/etc/localtime:ro nextcloud-cron: - image: ${NEXTCLOUD_IMAGE:-nextcloud:22.2.3-fpm-alpine} + image: ${NEXTCLOUD_IMAGE:-nextcloud:25.0.2-fpm-alpine} container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-cron restart: always depends_on: -- 2.40.1 From de2a8eef465956b8b26f9d29778740431f22fca2 Mon Sep 17 00:00:00 2001 From: Simon C Date: Thu, 2 Feb 2023 12:59:09 +0100 Subject: [PATCH 77/80] feat(Vikunja): Restart container & explicite dependency --- vikunja/docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vikunja/docker-compose.yml b/vikunja/docker-compose.yml index db11ae4..ac99c02 100644 --- a/vikunja/docker-compose.yml +++ b/vikunja/docker-compose.yml @@ -40,3 +40,6 @@ services: vikunja_frontend: container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_frontend image: ${VIKUNJA_FRONTEND_IMAGE:-vikunja/frontend:0.18.2} + restart: always + depends_on: + - vikunja_api -- 2.40.1 From ba29719ed102a7569b4da5d7b196d414dbc12b74 Mon Sep 17 00:00:00 2001 From: Simon C Date: Thu, 2 Feb 2023 16:50:59 +0100 Subject: [PATCH 78/80] feat(Traefik): Pilot is deprecated https://traefik.io/blog/announcing-traefik-proxy-2-8/ --- traefik/docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index 651a062..f030402 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -30,7 +30,6 @@ 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} -- 2.40.1 From e8a022e7e3f4de32385ff2f7b15b84cb30aa345f Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 21 Feb 2023 11:58:06 +0100 Subject: [PATCH 79/80] feat(Gitea): Upgrade to 1.19 and update configuration --- gitea/docker-compose.smtp.yml | 11 +++++++---- gitea/docker-compose.traefik.yml | 12 +++++------- gitea/docker-compose.yml | 20 ++++++++++++-------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/gitea/docker-compose.smtp.yml b/gitea/docker-compose.smtp.yml index fa37a1a..f01131d 100644 --- a/gitea/docker-compose.smtp.yml +++ b/gitea/docker-compose.smtp.yml @@ -4,9 +4,12 @@ services: gitea: environment: - GITEA__mailer__ENABLED=true - - 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__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__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} + - GITEA__mailer__HOST=${GITEA__mailer__HOST:?GITEA__mailer__HOST not set} diff --git a/gitea/docker-compose.traefik.yml b/gitea/docker-compose.traefik.yml index b4b8447..f3a5562 100644 --- a/gitea/docker-compose.traefik.yml +++ b/gitea/docker-compose.traefik.yml @@ -7,10 +7,8 @@ networks: services: gitea: labels: - 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' + - 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 diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index a2ae51c..67eb748 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -7,16 +7,20 @@ volumes: services: gitea: container_name: ${GITEA_CONTAINER_NAME:-gitea} - image: ${GITEA_IMAGE:-gitea/gitea:1.16.5} + image: ${GITEA_IMAGE:-gitea/gitea:1.18.4} restart: always environment: - # - 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} + - 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 + - GITEA__security__SECRET_KEY=${GITEA_SECRET_KEY:-} + - GITEA__security__INTERNAL_TOKEN=${GITEA_INTERNAL_TOKEN:-} volumes: - gitea:/data - /etc/timezone:/etc/timezone:ro -- 2.40.1 From 8f5fcec3a9bf8684eae5fee31f476790f63470cd Mon Sep 17 00:00:00 2001 From: Simon C Date: Tue, 21 Feb 2023 12:44:00 +0100 Subject: [PATCH 80/80] feat(Gitea): Update configuration --- gitea/.env | 36 +++++++++++++++++++++-------------- gitea/docker-compose.smtp.yml | 1 - gitea/docker-compose.yml | 6 ++++-- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/gitea/.env b/gitea/.env index 3db8400..2b34046 100644 --- a/gitea/.env +++ b/gitea/.env @@ -1,26 +1,34 @@ -COMPOSE_FILE=../postgres/docker-compose.yml:./docker-compose.yml:./docker-compose.override.yml +######## +# DOCKER -# APP +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 -GITEA_VOLUME_NAME=gitea -GITEA_PROTOCOL=http -GITEA_DOMAIN=gitea.lan - -# APP CONFIG +####### +# GITEA # https://docs.gitea.io/en-us/install-with-docker/#environments-variables -DISABLE_SSH=true -RUN_MODE=prod -ROOT_URL=${GITEA_PROTOCOL}://${GITEA_DOMAIN} -DISABLE_REGISTRATION=true -DISABLE_GRAVATAR=true -#INSTALL_LOCK=true +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 # 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 f01131d..af25854 100644 --- a/gitea/docker-compose.smtp.yml +++ b/gitea/docker-compose.smtp.yml @@ -12,4 +12,3 @@ services: - GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}""" - GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set} - - GITEA__mailer__HOST=${GITEA__mailer__HOST:?GITEA__mailer__HOST not set} diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 67eb748..f30608b 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -19,8 +19,10 @@ services: - GITEA__database__USER=${POSTGRES_USER} - GITEA__database__PASSWD=${POSTGRES_PASSWORD} # Security - - GITEA__security__SECRET_KEY=${GITEA_SECRET_KEY:-} - - GITEA__security__INTERNAL_TOKEN=${GITEA_INTERNAL_TOKEN:-} + # 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} volumes: - gitea:/data - /etc/timezone:/etc/timezone:ro -- 2.40.1