diff --git a/README.md b/README.md
index 065f41f..716004e 100644
--- a/README.md
+++ b/README.md
@@ -6,28 +6,19 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien
### Pour les utilisateurs
-- [Directus](./directus) : Permet d'administrer une base de données
- [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel
-- [listmonk](./listmonk) : Gestionnaire de listes de diffusion et de newsletter
-- [Mobilizon](./mobilizon): Permet l'organisation d'évènements et de gestion de groupes
- [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration
-- [Plausible](./plausible) : Plausible est une plateforme d'analyse Web légère et open source
-- [Vaultwarden](./vaultwarden) : Gestionnaire de mot de passe compatible avec Bitwarden
-- [Vikunja](./vikunja) : L'application pour organiser sa vie
+- [Directus](./directus) : Permet d'administrer une base de données
### Pour les devs / ops
-- [ClickHouse](./clickhouse) : Un logiciel libre de base de données orientée colonnes pour le traitement analytique en ligne
-- [Drone](./drone) : Un service d'intégration continue
-- [GeoIP Update](./geoipupdate) : Permet de télécharger la base de données GeoIP2 permettant de localiser les IPs
-- [Gitea](./gitea) : Un service Git très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab.
+- [Drone](./drone) ⏸️ `en pause` : 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.
- [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
+- [Docker Registry](./registry) : Une application qui permet de distribuer des images Docker
- [Traefik](./traefik) : Traefik, un reverse-proxy pour vos conteneurs
-- [Uptime Kuma](./uptimekuma) : outil de surveillance de site ou service WEB
- [Watchtower](./watchtower) : Automatiser la mise à jour d'image docker
## Comment ça marche ?
diff --git a/clickhouse/.env b/clickhouse/.env
deleted file mode 100644
index f3216ca..0000000
--- a/clickhouse/.env
+++ /dev/null
@@ -1,3 +0,0 @@
-#CLICKHOUSE_VOLUME_NAME=
-#CLICKHOUSE_CONTAINER_NAME=
-#CLICKHOUSE_IMAGE=
diff --git a/clickhouse/README.md b/clickhouse/README.md
deleted file mode 100644
index 54182f5..0000000
--- a/clickhouse/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# ClickHouse
-
-> ClickHouse est un logiciel libre de base de données orientée colonnes (DBMS) pour le traitement analytique en ligne (OLAP).
->
-> [Wikipédia][wikipedia]
-
-## Liens
-
-- [Site Officiel][site]
-- [Code source][source]
-- [Docker Hub][dockerhub]
-
-[wikipedia]: https://fr.wikipedia.org/wiki/ClickHouse
-[site]: https://clickhouse.com/
-[source]: https://github.com/ClickHouse/ClickHouse
-[dockerhub]: https://hub.docker.com/r/clickhouse/clickhouse-server
diff --git a/clickhouse/docker-compose.yml b/clickhouse/docker-compose.yml
deleted file mode 100644
index f22b192..0000000
--- a/clickhouse/docker-compose.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-version: "3.8"
-
-volumes:
- clickhouse:
- name: ${CLICKHOUSE_VOLUME_NAME:-clickhouse}
-
-services:
- clickhouse:
- container_name: ${CLICKHOUSE_CONTAINER_NAME:-clickhouse}
- image: ${CLICKHOUSE_IMAGE:-clickhouse/clickhouse-server:22.2.2.1-alpine}
- restart: always
- volumes:
- - clickhouse:/var/lib/clickhouse
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
- ulimits:
- nofile:
- soft: 262144
- hard: 262144
diff --git a/directus/.env b/directus/.env
index b97bdd4..6541d13 100644
--- a/directus/.env
+++ b/directus/.env
@@ -12,7 +12,6 @@ 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
@@ -44,9 +43,7 @@ POSTGRES_VOLUME_NAME=directus-postgres
#######
# REDIS
-#REDIS_IMAGE=
#REDIS_CONTAINER_NAME=
-#REDIS_VOLUME_NAME=
#########
# TRAEFIK
diff --git a/directus/docker-compose.yml b/directus/docker-compose.yml
index 1422d1d..4db6a8a 100644
--- a/directus/docker-compose.yml
+++ b/directus/docker-compose.yml
@@ -9,10 +9,12 @@ volumes:
services:
directus:
container_name: ${DIRECTUS_CONTAINER_NAME:-directus}
- image: ${DIRECTUS_IMAGE:-directus/directus:9.8.0}
+ image: ${DIRECTUS_IMAGE:-directus/directus:9.4.0}
restart: always
volumes:
- directus:/directus/uploads
+ - /etc/timezone:/etc/timezone:ro
+ - /etc/localtime:/etc/localtime:ro
depends_on:
- postgres
- redis
@@ -26,13 +28,11 @@ services:
PUBLIC_URL: ${DIRECTUS_PUBLIC_URL:?err}
DB_CLIENT: 'pg'
- DB_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8
+ DB_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}
DB_PORT: '5432'
DB_DATABASE: ${POSTGRES_DB:?err}
DB_USER: ${POSTGRES_USER:?err}
DB_PASSWORD: ${POSTGRES_PASSWORD:?err}
- TZ: ${TZ:-Europe/Paris}
-
PUID: ${DIRECTUS_PUID:-1000}
PGID: ${DIRECTUS_PGID:-1000}
diff --git a/drone/.env b/drone/.env
new file mode 100644
index 0000000..a698659
--- /dev/null
+++ b/drone/.env
@@ -0,0 +1,37 @@
+## 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 b1f2662..6b84604 100644
--- a/drone/README.md
+++ b/drone/README.md
@@ -4,22 +4,6 @@
>
> [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
new file mode 100644
index 0000000..4c4a925
--- /dev/null
+++ b/drone/docker-compose.gitea.yml
@@ -0,0 +1,10 @@
+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
new file mode 100644
index 0000000..5a03918
--- /dev/null
+++ b/drone/docker-compose.traefik.yml
@@ -0,0 +1,22 @@
+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
new file mode 100644
index 0000000..78bd9b6
--- /dev/null
+++ b/drone/docker-compose.yml
@@ -0,0 +1,41 @@
+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
deleted file mode 100644
index 5d5dbf0..0000000
--- a/drone/runner/.env
+++ /dev/null
@@ -1,36 +0,0 @@
-########
-# 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
deleted file mode 100644
index 6f41ef4..0000000
--- a/drone/runner/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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
deleted file mode 100644
index 4448db6..0000000
--- a/drone/runner/docker-compose.dashboard.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-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
deleted file mode 100644
index 59c143a..0000000
--- a/drone/runner/docker-compose.local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-
-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
deleted file mode 100644
index 0d717ae..0000000
--- a/drone/runner/docker-compose.logging.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-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
deleted file mode 100644
index 175112c..0000000
--- a/drone/runner/docker-compose.traefik.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-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
deleted file mode 100644
index fcfd73b..0000000
--- a/drone/runner/docker-compose.yml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-
-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
deleted file mode 100644
index bd84bb6..0000000
--- a/drone/server/.env
+++ /dev/null
@@ -1,65 +0,0 @@
-########
-# 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
deleted file mode 100644
index fc748b6..0000000
--- a/drone/server/README.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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
deleted file mode 100644
index 99736ba..0000000
--- a/drone/server/docker-compose.cookie.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-
-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
deleted file mode 100644
index 9ca4760..0000000
--- a/drone/server/docker-compose.gitea.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-
-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
deleted file mode 100644
index 3607c71..0000000
--- a/drone/server/docker-compose.header.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-
-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
deleted file mode 100644
index 06436db..0000000
--- a/drone/server/docker-compose.local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-
-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
deleted file mode 100644
index 62cc675..0000000
--- a/drone/server/docker-compose.logging.yml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-
-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
deleted file mode 100644
index c7e2be2..0000000
--- a/drone/server/docker-compose.postgres.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
-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
deleted file mode 100644
index 47dc794..0000000
--- a/drone/server/docker-compose.traefik.yml
+++ /dev/null
@@ -1,15 +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}
- - 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
deleted file mode 100644
index c4244e2..0000000
--- a/drone/server/docker-compose.user.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-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
deleted file mode 100644
index ae49725..0000000
--- a/drone/server/docker-compose.yml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-
-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.11.1}
- 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
diff --git a/examples/README.md b/examples/README.md
index 4853c00..6979a90 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
diff --git a/geoip/.env b/geoip/.env
deleted file mode 100644
index 608b262..0000000
--- a/geoip/.env
+++ /dev/null
@@ -1,9 +0,0 @@
-#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
deleted file mode 100644
index a9b25bb..0000000
--- a/geoip/docker-compose.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-
-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/geoipupdate/.env b/geoipupdate/.env
deleted file mode 100644
index 78546bd..0000000
--- a/geoipupdate/.env
+++ /dev/null
@@ -1,10 +0,0 @@
-#GEOIPUPDATE_VOLUME_NAME=
-#GEOIPUPDATE_IMAGE=
-#GEOIPUPDATE_CONTAINER_NAME=
-
-GEOIPUPDATE_ACCOUNT_ID=
-GEOIPUPDATE_LICENSE_KEY=
-#GEOIPUPDATE_EDITION_IDS=
-#GEOIPUPDATE_FREQUENCY=
-#GEOIPUPDATE_VERBOSE=
-#GEOIPUPDATE_DB_DIR=
diff --git a/geoipupdate/README.md b/geoipupdate/README.md
deleted file mode 100644
index 7efc7fc..0000000
--- a/geoipupdate/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# HedgeDoc
-
-> Permet de télécharger la base de données GeoIP2 permettant de localiser les IPs
-
-## Liens
-
-- [Site officiel][website]
-- [Github][github]
-- [L'image Docker de LinuxServer][docker]
-
-[website]: https://www.maxmind.com/en/home
-[docker]: https://hub.docker.com/r/maxmindinc/geoipupdate
-[github]: https://github.com/maxmind/geoipupdate
-[documentation]: https://dev.maxmind.com/geoip/updating-databases
diff --git a/geoipupdate/docker-compose.yml b/geoipupdate/docker-compose.yml
deleted file mode 100644
index 9e83d1e..0000000
--- a/geoipupdate/docker-compose.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-
-version: "3.8"
-
-volumes:
- geoipupdate:
- name: ${GEOIPUPDATE_VOLUME_NAME:-geoipupdate}
-
-services:
- geoipupdate:
- image: ${GEOIPUPDATE_IMAGE:-maxmindinc/geoipupdate:v4.9.0}
- container_name: ${GEOIPUPDATE_CONTAINER_NAME:-geoip-updater}
- restart: always
- volumes:
- - geoipupdate:${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP}
- environment:
- GEOIPUPDATE_ACCOUNT_ID: ${GEOIPUPDATE_ACCOUNT_ID:?err}
- GEOIPUPDATE_LICENSE_KEY: ${GEOIPUPDATE_LICENSE_KEY:?err}
- GEOIPUPDATE_EDITION_IDS: ${GEOIPUPDATE_EDITION_IDS:-GeoLite2-City}
- GEOIPUPDATE_FREQUENCY: ${GEOIPUPDATE_FREQUENCY:-72}
- GEOIPUPDATE_VERBOSE: ${GEOIPUPDATE_VERBOSE:-false}
- GEOIPUPDATE_DB_DIR: ${GEOIPUPDATE_DB_DIR:-/usr/share/GeoIP}
diff --git a/gitea/.env b/gitea/.env
index 2b34046..3db8400 100644
--- a/gitea/.env
+++ b/gitea/.env
@@ -1,34 +1,26 @@
-########
-# DOCKER
+COMPOSE_FILE=../postgres/docker-compose.yml:./docker-compose.yml:./docker-compose.override.yml
-SERVICES_DIR=".."
-COMPOSE_FILE=${SERVICES_DIR}/gitea/docker-compose.yml:${SERVICES_DIR}/gitea/docker-compose.traefik.yml:${SERVICES_DIR}/gitea/docker-compose.smtp.yml:${SERVICES_DIR}/gitea/docker-compose.metrics.yml:${SERVICES_DIR}/postgres/docker-compose.yml
-COMPOSE_PROJECT_NAME=$GITEA_DOMAIN
+# APP
-#######
-# GITEA
+GITEA_VOLUME_NAME=gitea
+GITEA_PROTOCOL=http
+GITEA_DOMAIN=gitea.lan
+
+# APP CONFIG
# https://docs.gitea.io/en-us/install-with-docker/#environments-variables
-GITEA_DOMAIN=gitea.lan
-GITEA_VOLUME_NAME=gitea
-GITEA_IMAGE=gitea/gitea:1.18.4
-GITEA_PROTOCOL=http
-GITEA_SECRET_KEY=kt5UdK0m9lI9MDyhVOFEB5jk7VwFynDyaxcUjEJUpWJBrC6FyH4dkUDKLYEa7hGn
-GITEA_INTERNAL_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2NzY5NzkxMzZ9.Iopu6DBUhglmNPzEyYylfmTmEUpYLHYEsNrm50GoBkU
-
-# SMTP
-
-GITEA__mailer__FROM='"Name" '
-GITEA__mailer__SMTP_ADDR=smtp.gitea.lan
-GITEA__mailer__SMTP_PORT=465
-GITEA__mailer__USER=gitea.lan
-GITEA__mailer__PASSWD=gitea.lan
+DISABLE_SSH=true
+RUN_MODE=prod
+ROOT_URL=${GITEA_PROTOCOL}://${GITEA_DOMAIN}
+DISABLE_REGISTRATION=true
+DISABLE_GRAVATAR=true
+#INSTALL_LOCK=true
# DATABASE
+# Voir la description ../postgres/README.md
POSTGRES_USER=user-example
POSTGRES_PASSWORD=password-example
POSTGRES_DB=postgres-database-name-example
POSTGRES_CONTAINER_NAME=gitea-postgres
POSTGRES_VOLUME_NAME=gitea-postgres
-POSTGRES_IMAGE=postgres:15.2-alpine
diff --git a/gitea/README.md b/gitea/README.md
index 18021d5..3d33e51 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 officielle](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 officiel](https://docs.gitea.io/en-us/install-with-docker/#managing-deployments-with-environment-variables).
## Commandes
diff --git a/gitea/docker-compose.smtp.yml b/gitea/docker-compose.smtp.yml
index af25854..fa37a1a 100644
--- a/gitea/docker-compose.smtp.yml
+++ b/gitea/docker-compose.smtp.yml
@@ -4,11 +4,9 @@ services:
gitea:
environment:
- GITEA__mailer__ENABLED=true
- - GITEA__mailer__PROTOCOL=${GITEA__mailer__PROTOCOL:-smtp}
- - GITEA__mailer__SMTP_ADDR=${GITEA__mailer__SMTP_ADDR:?GITEA__mailer__SMTP_ADDR not set}
- - GITEA__mailer__SMTP_PORT=${GITEA__mailer__SMTP_PORT:?GITEA__mailer__SMTP_PORT not set}
-
+ - GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set}
+ - GITEA__mailer__MAILER_TYPE=smtp
+ - GITEA__mailer__HOST=${GITEA__mailer__HOST:?GITEA__mailer__HOST not set}
+ - GITEA__mailer__IS_TLS_ENABLED=true
- GITEA__mailer__USER=${GITEA__mailer__USER:?GITEA__mailer__USER not set}
- GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}"""
-
- - GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set}
diff --git a/gitea/docker-compose.traefik.yml b/gitea/docker-compose.traefik.yml
index f3a5562..b4b8447 100644
--- a/gitea/docker-compose.traefik.yml
+++ b/gitea/docker-compose.traefik.yml
@@ -7,8 +7,10 @@ networks:
services:
gitea:
labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-gitea}.rule=Host(`${GITEA_DOMAIN:?err}`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-gitea}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
- - traefik.http.services.${TRAEFIK_ROUTER_NAME:-gitea}.loadbalancer.server.port=3000
+ traefik.enable: 'true'
+ traefik.docker.network: ${TRAEFIK_NETWORK_NAME:-traefik}
+
+ traefik.http.routers.gitea.rule: 'Host(`${GITEA_DOMAIN:?err}`)'
+ traefik.http.routers.gitea.entrypoints: 'web'
+
+ traefik.http.services.gitea.loadbalancer.server.port: '3000'
diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml
index f30608b..255d520 100644
--- a/gitea/docker-compose.yml
+++ b/gitea/docker-compose.yml
@@ -7,22 +7,16 @@ volumes:
services:
gitea:
container_name: ${GITEA_CONTAINER_NAME:-gitea}
- image: ${GITEA_IMAGE:-gitea/gitea:1.18.4}
+ image: ${GITEA_IMAGE:-gitea/gitea:1.15.5}
restart: always
environment:
- - USER_UID=${GITEA_UID:-1000}
- - USER_GID=${GITEA_GID:-1000}
- # Database
- - GITEA__database__DB_TYPE=postgres
- - GITEA__database__HOST=${POSTGRES_CONTAINER_NAME:-postgres}:5432
- - GITEA__database__NAME=${POSTGRES_DB}
- - GITEA__database__USER=${POSTGRES_USER}
- - GITEA__database__PASSWD=${POSTGRES_PASSWORD}
- # Security
- # docker run -it --rm gitea/gitea:1 gitea generate secret SECRET_KEY
- - GITEA__security__SECRET_KEY=${GITEA_SECRET_KEY}
- # docker run -it --rm gitea/gitea:1 gitea generate secret INTERNAL_TOKEN
- - GITEA__security__INTERNAL_TOKEN=${GITEA_INTERNAL_TOKEN}
+ # - USER_UID=1000
+ # - USER_GID=1000
+ DB_TYPE: postgres
+ DB_HOST: postgres:5432
+ DB_NAME: ${POSTGRES_DB}
+ DB_USER: ${POSTGRES_USER}
+ DB_PASSWD: ${POSTGRES_PASSWORD}
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
diff --git a/grafana/.env b/grafana/.env
index 866aef5..a7ee3e6 100644
--- a/grafana/.env
+++ b/grafana/.env
@@ -34,10 +34,6 @@ GF_INSTALL_PLUGINS=grafana-piechart-panel
#######
# REDIS
-#REDIS_IMAGE=
-#REDIS_CONTAINER_NAME=
-#REDIS_VOLUME_NAME=
-
#GF_REMOTE_CACHE_CONNSTR=
#########
diff --git a/grafana/README.md b/grafana/README.md
index 8692bac..974bba8 100644
--- a/grafana/README.md
+++ b/grafana/README.md
@@ -6,7 +6,7 @@
## 🔧 Configuration
-La configuration du service ce base sur la documentation officielle, plusieurs pages sont intéressantes à lire :
+La configuration du service ce base sur la documentation officiel plusieurs pages sont intéressante à 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/grafana/docker-compose.postgres.yml b/grafana/docker-compose.postgres.yml
index 2958291..b9fc41c 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_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8
+ GF_DATABASE_HOST: postgres # 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/grafana/docker-compose.yml b/grafana/docker-compose.yml
index 88aa1f9..566b19f 100644
--- a/grafana/docker-compose.yml
+++ b/grafana/docker-compose.yml
@@ -8,7 +8,7 @@ volumes:
services:
grafana:
container_name: ${GRAFANA_CONTAINER_NAME:-grafana}
- image: ${GRAFANA_IMAGE:-grafana/grafana:8.4.6}
+ image: ${GRAFANA_IMAGE:-grafana/grafana:8.3.3}
restart: always
volumes:
- grafana:/var/lib/grafana
diff --git a/hedgedoc/docker-compose.yml b/hedgedoc/docker-compose.yml
index 204d0a2..8b47dc8 100644
--- a/hedgedoc/docker-compose.yml
+++ b/hedgedoc/docker-compose.yml
@@ -7,17 +7,17 @@ volumes:
services:
hedgedoc:
container_name: ${HEDGEDOC_CONTAINER_NAME:-hedgedoc}
- image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.3-ls53}
+ image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.2-ls39}
restart: always
depends_on:
- postgres
volumes:
- - hedgedoc:/config/uploads
+ - hedgedoc:/opt/hedgedoc/public/uploads
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
# https://docs.hedgedoc.org/configuration/
- CMD_DB_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME:-postgres}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:?err}
+ CMD_DB_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME}:${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/listmonk/.env b/listmonk/.env
deleted file mode 100644
index 0dea747..0000000
--- a/listmonk/.env
+++ /dev/null
@@ -1,26 +0,0 @@
-########
-# DOCKER
-
-#DOCKER_CONTEXT=
-#DOCKER_HOST=
-SERVICES_DIR=..
-COMPOSE_FILE=${SERVICES_DIR}/listmonk/docker-compose.yml:${SERVICES_DIR}/postgres/docker-compose.yml
-#COMPOSE_PROJECT_NAME=
-
-## APP
-
-LISTMONK_DOMAIN=localhost
-LISTMONK_ADMIN_USERNAME=
-LISTMONK_ADMIN_PASSWORD=
-#LISTMONK_CONTAINER_NAME=listmonk
-#LISTMONK_VOLUME_NAME=listmonk
-#LISTMONK_IMAGE=listmonk/listmonk:v2.3.0
-
-## POSTGRES
-
-#POSTGRES_VOLUME_NAME=
-#POSTGRES_CONTAINER_NAME=
-#POSTGRES_IMAGE=
-POSTGRES_USER=listmonk
-POSTGRES_PASSWORD=listmonk
-POSTGRES_DB=listmonk
diff --git a/listmonk/README.md b/listmonk/README.md
deleted file mode 100644
index 50c403a..0000000
--- a/listmonk/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# listmonk
-
-> Gestionnaire de listes de diffusion et de newsletter
-
-## Documentation
-
-listmonk ne gère actuellement pas le multicompte.
-
-Pour utiliser avec une configuration avec les variables d'environnements il faut la commande suivante :
-
-```
-command: [sh, -c, "./listmonk --config ''"]
-```
-
-Pour l'installation il faut lancer la commande suivante pour initialiser la base de donnée :
-
-```
-command: [sh, -c, "yes | ./listmonk --install --config '' && ./listmonk --config ''"]
-```
-
-Pour faire les mise à jour et ainsi migrer la base de donnée :
-
-```
-command: [sh, -c, "yes | ./listmonk --upgrade --config '' && ./listmonk --config ''"]
-```
-
-## Liens
-
-- [Site Officiel][site]
-- [Documentation][documentation]
-- [Code source][source]
-- [Docker Hub][dockerhub]
-
-[site]: https://listmonk.app/
-[source]: https://github.com/knadh/listmonk
-[documentation]: https://listmonk.app/docs/
-[dockerhub]: https://hub.docker.com/r/listmonk/listmonk
diff --git a/listmonk/docker-compose.yml b/listmonk/docker-compose.yml
deleted file mode 100644
index 9732d9a..0000000
--- a/listmonk/docker-compose.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-version: "3.8"
-
-networks:
- default:
- name: ${TRAEFIK_NETWORK_NAME:-traefik}
-
-volumes:
- listmonk:
- name: ${LISTMONK_VOLUME_NAME:-listmonk}
-
-services:
- listmonk:
- container_name: ${LISTMONK_CONTAINER_NAME:-listmonk}
- image: ${LISTMONK_IMAGE:-listmonk/listmonk:v2.3.0}
- restart: always
- #command: [sh, -c, "yes | ./listmonk --install --config '' && ./listmonk --config ''"]
- #command: [sh, -c, "yes | ./listmonk --upgrade --config '' && ./listmonk --config ''"]
- command: [sh, -c, "./listmonk --config ''"]
- depends_on:
- - postgres
- environment:
- LISTMONK_app__address: 0.0.0.0:9000
- LISTMONK_app__admin_username: ${LISTMONK_ADMIN_USERNAME:?err}
- LISTMONK_app__admin_password: ${LISTMONK_ADMIN_PASSWORD:?err}
- LISTMONK_db__host: ${POSTGRES_CONTAINER_NAME:?err}
- LISTMONK_db__port: 5432
- LISTMONK_db__user: ${POSTGRES_USER:?err}
- LISTMONK_db__password: ${POSTGRES_PASSWORD:?err}
- LISTMONK_db__database: ${POSTGRES_DB:?err}
- LISTMONK_db__ssl_mode: disable
- TZ: Europe/Paris
- volumes:
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
- - listmonk:/listmonk/uploads
- labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-listmonk}.rule=Host(`${LISTMONK_DOMAIN:?err}`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-listmonk}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
diff --git a/mobilizon/.env b/mobilizon/.env
deleted file mode 100644
index fadbbf9..0000000
--- a/mobilizon/.env
+++ /dev/null
@@ -1,63 +0,0 @@
-########
-# 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
deleted file mode 100644
index 9614c9a..0000000
--- a/mobilizon/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Mobilizon
-
-> 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)
-
-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](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
-
-- 🌐 [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)
diff --git a/mobilizon/docker-compose.local.yml b/mobilizon/docker-compose.local.yml
deleted file mode 100644
index 4cd53ce..0000000
--- a/mobilizon/docker-compose.local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-
-version: "3.8"
-
-services:
- mobilizon:
- ports:
- - "${MOBILIZON_INSTANCE_PORT:-4000}:${MOBILIZON_PORT:-4000}"
diff --git a/mobilizon/docker-compose.traefik.yml b/mobilizon/docker-compose.traefik.yml
deleted file mode 100644
index a37a013..0000000
--- a/mobilizon/docker-compose.traefik.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-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
deleted file mode 100644
index 7a29ec5..0000000
--- a/mobilizon/docker-compose.yml
+++ /dev/null
@@ -1,47 +0,0 @@
----
-
-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:-4000}
- 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} # 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}
-
- 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}
diff --git a/nextcloud/.env b/nextcloud/.env
index 15a8d09..fd8e2e1 100644
--- a/nextcloud/.env
+++ b/nextcloud/.env
@@ -4,7 +4,7 @@
#DOCKER_CONTEXT=
#DOCKER_HOST=
SERVICES_DIR=..
-COMPOSE_FILE=${SERVICES_DIR}/nextcloud/docker-compose.yml:${SERVICES_DIR}/nextcloud/docker-compose.config.yml:${SERVICES_DIR}/nextcloud/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/redis/docker-compose.yml
+COMPOSE_FILE=${SERVICES_DIR}/nextcloud/docker-compose.yml:${SERVICES_DIR}/nextcloud/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/redis/docker-compose.yml
#COMPOSE_PROJECT_NAME=
## APP
@@ -39,9 +39,7 @@ POSTGRES_VOLUME_NAME=nextcloud-postgres
#######
# REDIS
-#REDIS_IMAGE=
REDIS_CONTAINER_NAME=nextcloud-redis
-#REDIS_VOLUME_NAME=
#########
# TRAEFIK
diff --git a/nextcloud/README.md b/nextcloud/README.md
index 0aca8d8..2f04a15 100644
--- a/nextcloud/README.md
+++ b/nextcloud/README.md
@@ -14,78 +14,45 @@ On peut trouver [la documentation ici][documentation] en anglais ou ici pour la
## Aide
-Commande pour se connecter à un serveur :
+Exemple de commande :
```sh
-. .env
-docker exec --user www-data -it ${NEXTCLOUD_CONTAINER_NAME}-fpm ash
-```
+docker exec --user www-data -it nextcloud bash
-Pour mettre un site en maintenance :
-
-```sh
-. .env
-docker exec --user www-data -it ${NEXTCLOUD_CONTAINER_NAME}-fpm php occ maintenance:mode --on
+docker-compose exec --user www-data nextcloud php occ db:add-missing-primary-keys
```
## Configuration
-Il est possible de configurer certaines parties avec des variables d'environnement :
-- Soit les variables sont spécifique à l'image Docker
-- soit avec des variables du type `NC_` + clé (exemple : NC_default_phone_region=FR)
+Il est possible de configurer certaines parties avec des variables d'environnement, mais ce n'est pas le cas de l'ensemble de la configuration.
-### Création d'un groupe
+Voici les modifications que j'effectue :
```
-export NC_GROUP=com-en-aubrac
-php occ group:add $NC_GROUP
+docker-compose exec --user www-data nextcloud-fpm ash
+vi config/config.php
+```
+Ajout de la configuration suivante :
+```
+ 'default_language' => 'fr',
+ 'default_locale' => 'fr_FR',
+ 'default_phone_region' => 'FR',
+ 'defaultapp' => 'files',
+ 'preview_max_x' => 2048,
+ 'preview_max_y' => 2048,
+ 'jpeg_quality' => 60,
```
-### Création d'un utilisateur
-
+Ajout de imagemagick :
```
-# La variable OC_PASS est spécifique pour l'utilisation de --password-from-env
-export OC_PASS=unmotdepasse!
-
-export NC_USER=simon
-export NC_NAME=Simon
-export NC_MAIL=simon@example.org
-export NC_QUOTA="180 GB"
-
-php occ user:add --password-from-env --display-name=$NC_NAME --group="$NC_GROUP" $NC_USER
-php occ user:setting $NC_USER settings email $NC_MAIL
+docker-compose exec nextcloud-fpm apk add --no-cache imagemagick
```
-### Quota
-
-Pour bien comprendre les quotas dans Nextcloud : https://docs.nextcloud.com/server/latest/user_manual/en/files/quota.html
+ou
```
-export NC_USER=simon
-export NC_QUOTA="10 GB"
-php occ user:setting $NC_USER files quota "$NC_QUOTA"
-```
-
-### imagemagick
-
-> Le module php-imagick n’a aucun support SVG dans cette instance. Pour une meilleure compatibilité, il est recommandé de l’installer.
-
-Pour résoudre ce problème il faut ajouter le paquet `imagemagick`
-
-```
-. .env
-docker exec -it ${NEXTCLOUD_CONTAINER_NAME}-fpm apk add --no-cache imagemagick
-```
-
-## Application
-
-Suppression d'application :
-
-```
-php occ app:disable dashboard
-php occ app:disable photos
-php occ app:disable weather_status
-php occ app:disable user_status
+ssh
+docker exec nextcloud-fpm apk add --no-cache imagemagick
```
## PHP-FPM: remédier à server reached pm.max_children
diff --git a/nextcloud/docker-compose.config.yml b/nextcloud/docker-compose.config.yml
deleted file mode 100644
index f7491ce..0000000
--- a/nextcloud/docker-compose.config.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-version: "3.8"
-
-services:
- nextcloud-fpm:
- environment:
- &nextcloud-configuration
- NC_trashbin_retention_obligation: ${NC_trashbin_retention_obligation:-auto, 30}
- NC_force_language: ${NC_force_language:-fr}
- NC_default_locale: ${NC_default_locale:-fr_FR}
- NC_force_locale: ${NC_force_locale:-fr_FR}
- NC_default_language: ${NC_default_language:-fr}
- NC_default_phone_region: ${NC_default_phone_region:-FR}
- NC_defaultapp: ${NC_defaultapp:-files}
- NC_preview_max_x: ${NC_preview_max_x:-2048}
- NC_preview_max_y: ${NC_preview_max_y:-2048}
- NC_jpeg_quality: ${NC_jpeg_quality:-60}
-
- nextcloud-cron:
- environment:
- <<: *nextcloud-configuration
diff --git a/nextcloud/docker-compose.smtp.yml b/nextcloud/docker-compose.smtp.yml
index 60136d8..b8a880f 100644
--- a/nextcloud/docker-compose.smtp.yml
+++ b/nextcloud/docker-compose.smtp.yml
@@ -3,16 +3,11 @@ version: "3.8"
services:
nextcloud-fpm:
environment:
- &smtp-configuration
- NC_mail_smtphost: ${NC_mail_smtphost:?err} # The hostname of the SMTP server.
- NC_mail_smtpsecure: ${NC_mail_smtpsecure:-ssl} # Set to ssl to use SSL, or tls to use STARTTLS.
- NC_mail_smtpport: ${NC_mail_smtpport:-465}
- NC_mail_smtpauthtype: ${NC_mail_smtpauthtype:-LOGIN}
- NC_mail_smtpname: ${NC_mail_smtpname:?err}
- NC_mail_smtppassword: ${NC_mail_smtppassword:?err}
- NC_mail_from_address: ${NC_mail_from_address:?err}
- NC_mail_domain: ${NC_mail_domain:?err}
-
- nextcloud-cron:
- environment:
- <<: *smtp-configuration
+ SMTP_HOST: ${SMTP_HOST?err} # The hostname of the SMTP server.
+ SMTP_SECURE: ${SMTP_SECURE:-ssl} # Set to ssl to use SSL, or tls to use STARTTLS.
+ SMTP_PORT: ${SMTP_PORT:-465}
+ SMTP_AUTHTYPE: ${SMTP_AUTHTYPE:-LOGIN}
+ SMTP_NAME: ${SMTP_NAME?err}
+ SMTP_PASSWORD: ${SMTP_PASSWORD?err}
+ MAIL_FROM_ADDRESS: ${MAIL_FROM_ADDRESS}
+ MAIL_DOMAIN: ${MAIL_DOMAIN}
diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml
index 351eb38..5b87ade 100644
--- a/nextcloud/docker-compose.yml
+++ b/nextcloud/docker-compose.yml
@@ -7,7 +7,7 @@ volumes:
services:
nextcloud-fpm:
container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-fpm
- image: ${NEXTCLOUD_IMAGE:-nextcloud:25.0.2-fpm-alpine}
+ image: ${NEXTCLOUD_IMAGE:-nextcloud:22.2.3-fpm-alpine}
restart: always
depends_on:
- postgres
@@ -17,26 +17,24 @@ 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}
OVERWRITEPROTOCOL: ${OVERWRITEPROTOCOL:-https}
PHP_UPLOAD_LIMIT: ${PHP_UPLOAD_LIMIT:-512M}
- POSTGRES_HOST: ${POSTGRES_CONTAINER_NAME:-postgres} # Default name is same as ../postgres/docker-compose.yml:8
+ POSTGRES_HOST: postgres # 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_CONTAINER_NAME:-redis} # Default name is same as ../redis/docker-compose.yml:4
+ REDIS_HOST: redis # Name is same as ../redis/docker-compose.yml:4
PUID: ${NEXTCLOUD_PUID:-1000}
PGID: ${NEXTCLOUD_PGID:-1000}
nextcloud-web:
container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-web
- build: ${SERVICES_DIR}/nextcloud/web
+ build: web
restart: always
environment:
- NEXTCLOUD_FPM_CONTAINER_NAME: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-fpm
PUID: ${NEXTCLOUD_PUID:-1000}
PGID: ${NEXTCLOUD_PGID:-1000}
depends_on:
@@ -47,14 +45,15 @@ services:
- /etc/localtime:/etc/localtime:ro
nextcloud-cron:
- image: ${NEXTCLOUD_IMAGE:-nextcloud:25.0.2-fpm-alpine}
+ image: ${NEXTCLOUD_IMAGE:-nextcloud:22.2.3-fpm-alpine}
container_name: ${NEXTCLOUD_CONTAINER_NAME:-nextcloud}-cron
restart: always
depends_on:
- nextcloud-web
entrypoint: /cron.sh
environment:
- <<: *fpm-configuration
+ PUID: ${NEXTCLOUD_PUID:-1000}
+ PGID: ${NEXTCLOUD_PGID:-1000}
volumes:
- nextcloud:/var/www/html
- /etc/timezone:/etc/timezone:ro
diff --git a/nextcloud/run b/nextcloud/run
new file mode 100755
index 0000000..a98ccba
--- /dev/null
+++ b/nextcloud/run
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+set -eu
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+. $DIR/../help.sh
+. $DIR/../postgres/run --only-source
+
+nextcloud_help() {
+ echo "./run backup : Lancement de la sauvegarde de Nextcloud"
+ echo "./run restore : Restauration de la sauvegarde de Nextcloud"
+}
+
+nextcloud_backup() {
+ script_env
+ BACKUP_DATE_DEFAULT=`date +%Y%m%d_%H%M%S`
+ BACKUP_DATE=${BACKUP_DATE:-$BACKUP_DATE_DEFAULT}
+ backup_folder_create
+
+ POSTGRES_BACKUP_FILE=backups/${BACKUP_DATE}_${NEXTCLOUD_DOMAIN}_postgres.sql
+ docker-compose exec --user www-data nextcloud php occ maintenance:mode --on
+ postgres_backup
+
+ docker run -it --rm -v $HOME/backups/${NEXTCLOUD_DOMAIN}:/backup --volumes-from nextcloud alpine:3.12.3 ash -c "cd /var/www/html && tar cvf /backup/${BACKUP_DATE}_${NEXTCLOUD_DOMAIN}_files.tar ."
+ docker-compose exec --user www-data nextcloud php occ maintenance:mode --off
+}
+
+nextcloud_restore() {
+ script_env
+
+ postgres_restore
+ docker run -it --rm -v $HOME/backups/${NEXTCLOUD_DOMAIN}:/backup -v nextcloud:/var/www/html alpine:3.12.3 ash -c "cd /var/www/html && tar xvf /backup/${BACKUP_DATE}_${NEXTCLOUD_DOMAIN}_files.tar --strip 1"
+}
+
+if [ $# -ge 1 ]; then
+ if [ "${1}" == "backup" ]; then
+ script_start
+ nextcloud_backup
+ script_end
+ elif [ "${1}" == "restore" ]; then
+ script_start
+ nextcloud_restore
+ script_end
+ elif [ "${1}" != "--only-source" ]; then
+ nextcloud_help
+ fi
+else
+ nextcloud_help
+fi
diff --git a/nextcloud/web/Dockerfile b/nextcloud/web/Dockerfile
index 345321a..64dc53c 100644
--- a/nextcloud/web/Dockerfile
+++ b/nextcloud/web/Dockerfile
@@ -1,3 +1,3 @@
-FROM nginx:1.23.3-alpine
+FROM nginx:1.21.4-alpine
-COPY nextcloud.conf.template /etc/nginx/templates/default.conf.template
+COPY nginx.conf /etc/nginx/nginx.conf
diff --git a/nextcloud/web/nextcloud.conf.template b/nextcloud/web/nextcloud.conf.template
deleted file mode 100644
index ca15645..0000000
--- a/nextcloud/web/nextcloud.conf.template
+++ /dev/null
@@ -1,145 +0,0 @@
-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
new file mode 100644
index 0000000..b076ed2
--- /dev/null
+++ b/nextcloud/web/nginx.conf
@@ -0,0 +1,174 @@
+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;
+ }
+ }
+}
diff --git a/plausible/.env b/plausible/.env
deleted file mode 100644
index 80eebb8..0000000
--- a/plausible/.env
+++ /dev/null
@@ -1,71 +0,0 @@
-########
-# DOCKER
-
-#DOCKER_CONTEXT=
-#DOCKER_HOST=
-SERVICES_DIR=..
-COMPOSE_FILE=${SERVICES_DIR}/plausible/docker-compose.yml:${SERVICES_DIR}/plausible/docker-compose.clickhouse.yml:${SERVICES_DIR}/plausible/docker-compose.local.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/clickhouse/docker-compose.yml
-#COMPOSE_PROJECT_NAME=
-
-## APP
-
-PLAUSIBLE_DOMAIN=localhost
-BASE_URL=http://${PLAUSIBLE_DOMAIN}:8000
-#PLAUSIBLE_CONTAINER_NAME=plausible
-#PLAUSIBLE_VOLUME_NAME=plausible
-#PLAUSIBLE_IMAGE=plausible/analytics:v1.4.4
-
-ADMIN_USER_NAME=example
-ADMIN_USER_EMAIL=email@example.org
-ADMIN_USER_PWD=change-me
-SECRET_KEY_BASE=AFnMQwN54ovHIqCQQGFZX5gUFpgpxasCEnzQwQsyfZLPRbiwzDYAqYDJQlQM8SbmicVJr97axXaSCfXD9zSEQQ==
-#DISABLE_AUTH=
-#DISABLE_REGISTRATION=
-
-## POSTGRES
-
-#POSTGRES_VOLUME_NAME=
-#POSTGRES_CONTAINER_NAME=
-#POSTGRES_IMAGE=
-POSTGRES_USER=user-example
-POSTGRES_PASSWORD=password-example
-POSTGRES_DB=plausible_dev
-
-## CLICKHOUSE
-
-#CLICKHOUSE_VOLUME_NAME=
-#CLICKHOUSE_CONTAINER_NAME=
-#CLICKHOUSE_IMAGE=
-
-## SMTP
-
-#MAILER_EMAIL=
-#SMTP_HOST_ADDR=
-#SMTP_HOST_PORT=
-#SMTP_USER_NAME=
-#SMTP_USER_PWD=
-#SMTP_HOST_SSL_ENABLED=
-#SMTP_RETRIES=
-
-## GOOGLE SEARCH CONSOLE
-
-#GOOGLE_CLIENT_ID=
-#GOOGLE_CLIENT_SECRET=
-
-## GEOIPUPDATE
-
-#GEOIPUPDATE_VOLUME_NAME=
-#GEOIPUPDATE_IMAGE=
-#GEOIPUPDATE_CONTAINER_NAME=
-#GEOIPUPDATE_ACCOUNT_ID=
-#GEOIPUPDATE_LICENSE_KEY=
-#GEOIPUPDATE_EDITION_IDS=GeoLite2-Country
-#GEOIPUPDATE_FREQUENCY=
-#GEOIPUPDATE_VERBOSE=
-#GEOIPUPDATE_DB_DIR=
-
-## TRAEFIK
-
-#TRAEFIK_NETWORK_NAME=
-#TRAEFIK_ROUTER_NAME=
-#TRAEFIK_ENTRYPOINTS=
diff --git a/plausible/README.md b/plausible/README.md
deleted file mode 100644
index 30e97e1..0000000
--- a/plausible/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Plausible
-
-> Plausible est une plateforme d'analyse Web légère et open source.
-
-## Liens
-
-- [Site Officiel][site]
-- [Documentation][documentation]
-- [Code source][source]
-- [Docker Hub][dockerhub]
-
-[site]: https://plausible.io/
-[source]: https://github.com/plausible/analytics
-[documentation]: https://plausible.io/docs
-[dockerhub]: https://hub.docker.com/r/plausible/analytics
diff --git a/plausible/clickhouse-config.xml b/plausible/clickhouse-config.xml
deleted file mode 100644
index ddd5f1c..0000000
--- a/plausible/clickhouse-config.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- warning
- true
-
-
-
-
-
-
-
-
-
-
diff --git a/plausible/clickhouse-user-config.xml b/plausible/clickhouse-user-config.xml
deleted file mode 100644
index f795286..0000000
--- a/plausible/clickhouse-user-config.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- 0
- 0
-
-
-
diff --git a/plausible/docker-compose.clickhouse.yml b/plausible/docker-compose.clickhouse.yml
deleted file mode 100644
index 443d044..0000000
--- a/plausible/docker-compose.clickhouse.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-version: "3.8"
-
-services:
- clickhouse:
- volumes:
- - ./clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
- - ./clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
diff --git a/plausible/docker-compose.geoip.yml b/plausible/docker-compose.geoip.yml
deleted file mode 100644
index 6c9fe71..0000000
--- a/plausible/docker-compose.geoip.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: "3.8"
-
-services:
- plausible:
- depends_on:
- - geoipupdate
- environment:
- - GEOLITE2_COUNTRY_DB=/geoip/GeoLite2-Country.mmdb
- volumes:
- - geoipupdate:/geoip:ro
diff --git a/plausible/docker-compose.google.yml b/plausible/docker-compose.google.yml
deleted file mode 100644
index dfb4c6c..0000000
--- a/plausible/docker-compose.google.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-version: "3.8"
-
-services:
- plausible:
- environment:
- GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:?err}
- GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:?err}
diff --git a/plausible/docker-compose.local.yml b/plausible/docker-compose.local.yml
deleted file mode 100644
index f1ceb7f..0000000
--- a/plausible/docker-compose.local.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-version: "3.8"
-
-services:
- plausible:
- ports:
- - ${LOCAL_PORT:-8000}:8000
diff --git a/plausible/docker-compose.smtp.yml b/plausible/docker-compose.smtp.yml
deleted file mode 100644
index fc0dea5..0000000
--- a/plausible/docker-compose.smtp.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-version: "3.8"
-
-services:
- plausible:
- environment:
- MAILER_EMAIL: ${MAILER_EMAIL:-hello@plausible.local}
- SMTP_HOST_ADDR: ${SMTP_HOST_ADDR:-localhost}
- SMTP_HOST_PORT: ${SMTP_HOST_PORT:-25}
- SMTP_USER_NAME: ${SMTP_USER_NAME}
- SMTP_USER_PWD: ${SMTP_USER_PWD}
- SMTP_HOST_SSL_ENABLED: ${SMTP_HOST_SSL_ENABLED:-false}
- SMTP_RETRIES: ${SMTP_RETRIES:-2}
diff --git a/plausible/docker-compose.traefik.yml b/plausible/docker-compose.traefik.yml
deleted file mode 100644
index 04cd7b6..0000000
--- a/plausible/docker-compose.traefik.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-version: "3.8"
-
-networks:
- default:
- name: ${TRAEFIK_NETWORK_NAME:-traefik}
-
-services:
- plausible:
- labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-plausible}.rule=Host(`${PLAUSIBLE_DOMAIN:?err}`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-plausible}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
diff --git a/plausible/docker-compose.yml b/plausible/docker-compose.yml
deleted file mode 100644
index 1834df3..0000000
--- a/plausible/docker-compose.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-version: "3.8"
-
-volumes:
- plausible:
- name: ${PLAUSIBLE_VOLUME_NAME:-plausible}
-
-services:
- plausible:
- container_name: ${PLAUSIBLE_CONTAINER_NAME:-plausible}
- image: ${PLAUSIBLE_IMAGE:-plausible/analytics:v1.4.4}
- restart: always
- command: ${PLAUSIBLE_DOCKER_COMMAND:-sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"}
- depends_on:
- - clickhouse
- - postgres
- environment:
- ADMIN_USER_NAME: ${ADMIN_USER_NAME:?err}
- ADMIN_USER_EMAIL: ${ADMIN_USER_EMAIL:?err}
- ADMIN_USER_PWD: ${ADMIN_USER_PWD:?err}
- BASE_URL: ${BASE_URL}
- SECRET_KEY_BASE: ${SECRET_KEY_BASE:?err}
- DISABLE_AUTH: ${DISABLE_AUTH:-false}
- DISABLE_REGISTRATION: ${DISABLE_REGISTRATION:-false}
- DATABASE_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME:-postgres}:5432/${POSTGRES_DB:?err}
- CLICKHOUSE_DATABASE_URL: http://${CLICKHOUSE_CONTAINER_NAME:-clickhouse}:8123/${CLICKHOUSE_CONTAINER_NAME:-clickhouse}
- SITE_LIMIT: ${SITE_LIMIT:-3}
- SELFHOST: ${SELFHOST:-true}
- LOG_LEVEL: ${LOG_LEVEL:-warn}
- volumes:
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
diff --git a/postgres/.env b/postgres/.env
index 1b5f33e..74b5f0e 100644
--- a/postgres/.env
+++ b/postgres/.env
@@ -1,7 +1,3 @@
-#POSTGRES_VOLUME_NAME=
-#POSTGRES_CONTAINER_NAME=
-#POSTGRES_IMAGE=
-
POSTGRES_USER=user-example
POSTGRES_PASSWORD=password-example
POSTGRES_DB=postgres-database-name-example
diff --git a/postgres/docker-compose.yml b/postgres/docker-compose.yml
index 44e7d0a..95f5c69 100644
--- a/postgres/docker-compose.yml
+++ b/postgres/docker-compose.yml
@@ -7,7 +7,7 @@ volumes:
services:
postgres:
container_name: ${POSTGRES_CONTAINER_NAME:-postgres}
- image: ${POSTGRES_IMAGE:-postgres:14.2-alpine}
+ image: ${POSTGRES_IMAGE:-postgres:14.1-alpine}
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER:?err}
diff --git a/prometheus/README.md b/prometheus/README.md
index caca743..3bc879d 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 officielle](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 officiel](https://prometheus.io/docs/prometheus/latest/configuration/configuration/).
## 🔗 Liens
diff --git a/prometheus/docker-compose.yml b/prometheus/docker-compose.yml
index b97b1e3..9299d38 100644
--- a/prometheus/docker-compose.yml
+++ b/prometheus/docker-compose.yml
@@ -12,7 +12,7 @@ services:
build:
context: .
args:
- PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.34.0}
+ PROMETHEUS_IMAGE: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.32.1}
volumes:
- prometheus:/prometheus
restart: always
diff --git a/redis/docker-compose.yml b/redis/docker-compose.yml
index cb0bd58..35755cd 100644
--- a/redis/docker-compose.yml
+++ b/redis/docker-compose.yml
@@ -1,9 +1,5 @@
version: "3.8"
-volumes:
- redis:
- name: ${REDIS_VOLUME_NAME:-redis}
-
services:
redis:
image: ${REDIS_IMAGE:-redis:6.2.6-alpine}
@@ -13,6 +9,5 @@ services:
PUID: ${REDIS_PUID:-1000}
PGID: ${REDIS_PGID:-1000}
volumes:
- - redis:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
diff --git a/registry/.env b/registry/.env
index 6771d73..ac4869e 100644
--- a/registry/.env
+++ b/registry/.env
@@ -5,7 +5,7 @@ TRAEFIK_NETWORK_NAME=kifeart
## REGISTRY
-#REGISTRY_IMAGE=
+REGISTRY_IMAGE=registry:2.7.1
REGISTRY_CUSTOM_IMAGE=custom/registry
REGISTRY_DOMAIN=registry.cool.life
REGISTRY_VOLUME_NAME=registry
diff --git a/registry/README.md b/registry/README.md
index 56deffa..a644b38 100644
--- a/registry/README.md
+++ b/registry/README.md
@@ -36,12 +36,6 @@ Pour se connecter :
docker login https://$REGISTRY_DOMAIN
```
-## Nettoyer le registre
-
-```sh
-docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml --delete-untagged=true
-```
-
## Aide
Pour connaître les images du registry :
diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml
index fd228a9..c987491 100644
--- a/registry/docker-compose.yml
+++ b/registry/docker-compose.yml
@@ -7,7 +7,7 @@ volumes:
services:
registry:
container_name: ${REGISTRY_CONTAINER_NAME}
- image: ${REGISTRY_IMAGE:-registry:2.8.1}
+ image: ${REGISTRY_IMAGE}
restart: always
environment:
REGISTRY_AUTH: htpasswd
diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml
index f030402..dda54ae 100644
--- a/traefik/docker-compose.yml
+++ b/traefik/docker-compose.yml
@@ -11,7 +11,7 @@ networks:
services:
traefik:
container_name: ${TRAEFIK_CONTAINER_NAME:-traefik}
- image: ${TRAEFIK_IMAGE:-traefik:v2.6.3}
+ image: ${TRAEFIK_IMAGE:-traefik:v2.5.6}
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
@@ -30,6 +30,7 @@ services:
- --log.level=${TRAEFIK_LOG_LEVEL:-INFO}
- --global.sendanonymoususage=${TRAEFIK_GLOBAL_SENDANONYMOUSUSAGE:-false}
- --global.checknewversion=${TRAEFIK_GLOBAL_CHECKNEWVERSION:-false}
+ - --pilot.dashboard=${TRAEFIK_PILOT_DASHBOARD:-false}
- --metrics.prometheus=${TRAEFIK_METRICS_PROMETHEUS:-true}
- --accesslog=${TRAEFIK_ACCESSLOG:-false}
diff --git a/uptimekuma/.env b/uptimekuma/.env
deleted file mode 100644
index a67d401..0000000
--- a/uptimekuma/.env
+++ /dev/null
@@ -1,20 +0,0 @@
-########
-# DOCKER
-
-SERVICES_DIR=".."
-COMPOSE_FILE=${SERVICES_DIR}/uptimekuma/docker-compose.yml:${SERVICES_DIR}/uptimekuma/docker-compose.local.yml
-# COMPOSE_PROJECT_NAME=
-
-## APP
-
-# UPTIMEKUMA_DOMAIN={{ UPTIMEKUMA_DOMAIN }}
-UPTIMEKUMA_CONTAINER_NAME=uptimekuma
-UPTIMEKUMA_VOLUME_NAME=uptimekuma
-# UPTIMEKUMA_IMAGE=
-
-#########
-# TRAEFIK
-
-# TRAEFIK_NETWORK_NAME=
-# TRAEFIK_ROUTER_NAME=
-# TRAEFIK_ENTRYPOINTS=
diff --git a/uptimekuma/README.md b/uptimekuma/README.md
deleted file mode 100644
index 0505ee5..0000000
--- a/uptimekuma/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Uptime Kuma
-
-> Uptime Kuma est un service pour surveiller des applications et services auto-hébergés. Il surveille le fonctionnement de services à travers des sondes HTTP(S), TCP, Ping, enregistrement DNS… sans limites.
-
-## Information
-
-- L'ensemble des variables d'environnement se trouve [ici](https://github.com/louislam/uptime-kuma/wiki/Environment-Variables)
-- Actuellement Uptime Kuma support seulement sqlite3, [une PR](https://github.com/louislam/uptime-kuma/pull/1139) est en court pour le support de MySQL à suivre.
-- Il y aurait des problèmes de DNS avec l'image Docker Alpine et [le support ne sera plus la dans la v2](https://github.com/louislam/uptime-kuma/pull/2085) donc on prend la version debian un peu plus lourde.
-- Pour l'instant [il n'est pas possible d'avoir plusieurs comptes](https://github.com/louislam/uptime-kuma/issues/128)
-
-## Liens
-
-- [Site Officiel][site]
-- [Documentation][documentation]
-- [Code source][source]
-- [Docker Hub][dockerhub]
-
-[site]: https://uptime.kuma.pet/
-[source]: https://github.com/louislam/uptime-kuma
-[documentation]: https://github.com/louislam/uptime-kuma/wiki
-[dockerhub]: https://hub.docker.com/r/louislam/uptime-kuma/
\ No newline at end of file
diff --git a/uptimekuma/docker-compose.local.yml b/uptimekuma/docker-compose.local.yml
deleted file mode 100644
index 7a90473..0000000
--- a/uptimekuma/docker-compose.local.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-
-version: "3.8"
-
-services:
- uptimekuma:
- ports:
- - 3001:3001
diff --git a/uptimekuma/docker-compose.traefik.yml b/uptimekuma/docker-compose.traefik.yml
deleted file mode 100644
index ff7d31c..0000000
--- a/uptimekuma/docker-compose.traefik.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-version: "3.8"
-
-networks:
- default:
- name: ${TRAEFIK_NETWORK_NAME:-traefik}
-
-services:
- uptimekuma:
- labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-uptimekuma}.rule=Host(`${UPTIMEKUMA_DOMAIN:?err}`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-uptimekuma}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
diff --git a/uptimekuma/docker-compose.yml b/uptimekuma/docker-compose.yml
deleted file mode 100644
index 8a087de..0000000
--- a/uptimekuma/docker-compose.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-
-version: "3.8"
-
-volumes:
- uptimekuma:
- name: ${UPTIMEKUMA_VOLUME_NAME:-uptimekuma}
-
-services:
- uptimekuma:
- container_name: ${UPTIMEKUMA_CONTAINER_NAME:-uptimekuma}
- image: ${UPTIMEKUMA_IMAGE:-louislam/uptime-kuma:1.18.5}
- restart: always
- volumes:
- - uptimekuma:/app/data
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
diff --git a/vaultwarden/.env b/vaultwarden/.env
deleted file mode 100644
index 0c01add..0000000
--- a/vaultwarden/.env
+++ /dev/null
@@ -1,46 +0,0 @@
-########
-# DOCKER
-
-SERVICES_DIR=".."
-COMPOSE_FILE=${SERVICES_DIR}/vaultwarden/docker-compose.yml
-#COMPOSE_PROJECT_NAME=
-
-## APP
-
-#VAULTWARDEN_IMAGE=
-#VAULTWARDEN_VOLUME_NAME=
-VAULTWARDEN_DOMAIN=vaultwarden.local
-
-#VAULTWARDEN_LOG_LEVEL=
-#VAULTWARDEN_SIGNUPS_ALLOWED=false
-VAULTWARDEN_ADMIN_TOKEN="mytoken"
-#VAULTWARDEN_INVITATION_ORG_NAME="RésiLien"
-
-##########
-# POSTGRES
-
-#POSTGRES_IMAGE=
-#POSTGRES_CONTAINER_NAME=
-#POSTGRES_DB=
-#POSTGRES_USER=
-#POSTGRES_PASSWORD=
-#POSTGRES_VOLUME_NAME=
-
-######
-# SMTP
-
-#VAULTWARDEN_SMTP_HOST=
-#VAULTWARDEN_SMTP_FROM=
-#VAULTWARDEN_SMTP_FROM_NAME=
-#VAULTWARDEN_SMTP_SECURITY=
-#VAULTWARDEN_SMTP_PORT=
-#VAULTWARDEN_SMTP_USERNAME=
-#VAULTWARDEN_SMTP_PASSWORD=
-#VAULTWARDEN_SMTP_AUTH_MECHANISM=
-
-#########
-# TRAEFIK
-
-#TRAEFIK_NETWORK_NAME=
-#TRAEFIK_ROUTER_NAME=
-#TRAEFIK_ENTRYPOINTS=
diff --git a/vaultwarden/README.md b/vaultwarden/README.md
deleted file mode 100644
index b799a9d..0000000
--- a/vaultwarden/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Vaultwarden
-
-> Gestionnaire de mot de passe compatible avec Bitwarden mais écrit en Rust pour être plus sobre en ressource système.
-
-## Configuration
-
-Toutes les variables de configuration du service sont disponibles à [cette adresse](https://github.com/dani-garcia/vaultwarden/blob/main/.env.template).
-
-## Clients
-
-[Les clients de Bitwarden](https://bitwarden.com/#download) sont compatibles avec le serveur.
-
-## Liens
-
-- [Documentation][documentation]
-- [Code source][source]
-- [Docker Hub][dockerhub]
-
-[source]: https://github.com/dani-garcia/vaultwarden
-[documentation]: https://github.com/dani-garcia/vaultwarden/wiki
-[dockerhub]: https://hub.docker.com/r/vaultwarden/server
\ No newline at end of file
diff --git a/vaultwarden/docker-compose.postgres.yml b/vaultwarden/docker-compose.postgres.yml
deleted file mode 100644
index 58e2bf7..0000000
--- a/vaultwarden/docker-compose.postgres.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-
-version: "3.8"
-
-services:
- vaultwarden:
- depends_on:
- - postgres
- environment:
- DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_CONTAINER_NAME}:5432/${POSTGRES_DB}
diff --git a/vaultwarden/docker-compose.smtp.yml b/vaultwarden/docker-compose.smtp.yml
deleted file mode 100644
index 21ca579..0000000
--- a/vaultwarden/docker-compose.smtp.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-version: "3.8"
-
-services:
- vaultwarden:
- environment:
- SMTP_HOST: ${VAULTWARDEN_SMTP_HOST:?err}
- SMTP_FROM: ${VAULTWARDEN_SMTP_FROM:?err}
- SMTP_FROM_NAME: ${VAULTWARDEN_SMTP_FROM_NAME:?err}
- SMTP_SECURITY: ${VAULTWARDEN_SMTP_SECURITY:?err}
- SMTP_PORT: ${VAULTWARDEN_SMTP_PORT:?err}
- SMTP_USERNAME: ${VAULTWARDEN_SMTP_USERNAME:?err}
- SMTP_PASSWORD: ${VAULTWARDEN_SMTP_PASSWORD:?err}
- SMTP_AUTH_MECHANISM: ${VAULTWARDEN_SMTP_AUTH_MECHANISM:?err}
diff --git a/vaultwarden/docker-compose.traefik.yml b/vaultwarden/docker-compose.traefik.yml
deleted file mode 100644
index e191542..0000000
--- a/vaultwarden/docker-compose.traefik.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-version: "3.8"
-
-networks:
- default:
- name: ${TRAEFIK_NETWORK_NAME:-traefik}
-
-services:
- vaultwarden:
- labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}.rule=Host(`${VAULTWARDEN_DOMAIN:?err}`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vaultwarden}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
\ No newline at end of file
diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml
deleted file mode 100644
index 97553ca..0000000
--- a/vaultwarden/docker-compose.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-
-version: "3.8"
-
-volumes:
- vaultwarden:
- name: ${VAULTWARDEN_VOLUME_NAME:-vaultwarden}
-
-services:
- vaultwarden:
- image: ${VAULTWARDEN_IMAGE:-vaultwarden/server:1.27.0-alpine}
- container_name: ${VAULTWARDEN_CONTAINER_NAME:-vaultwarden}
- restart: always
- environment:
- ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN:?err}
- DOMAIN: https://${VAULTWARDEN_DOMAIN:?err}
- INVITATION_ORG_NAME: ${VAULTWARDEN_INVITATION_ORG_NAME:-Vaultwarden}
- LOG_LEVEL: ${VAULTWARDEN_LOG_LEVEL:-Info}
- SIGNUPS_ALLOWED: ${VAULTWARDEN_SIGNUPS_ALLOWED:-true}
- volumes:
- - vaultwarden:/data
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
diff --git a/vikunja/.env b/vikunja/.env
deleted file mode 100644
index 62a1d6f..0000000
--- a/vikunja/.env
+++ /dev/null
@@ -1,86 +0,0 @@
-########
-# DOCKER
-
-#DOCKER_CONTEXT=
-#DOCKER_HOST=
-SERVICES_DIR=..
-COMPOSE_FILE=${SERVICES_DIR}/vikunja/docker-compose.yml:${SERVICES_DIR}/vikunja/docker-compose.local.yml:${SERVICES_DIR}/vikunja/docker-compose.postgres.yml:${SERVICES_DIR}/postgres/docker-compose.yml
-#COMPOSE_PROJECT_NAME=
-
-## APP
-
-#VIKUNJA_API_IMAGE=
-#VIKUNJA_FRONTEND_IMAGE=
-VIKUNJA_CONTAINER_NAME=vikunja
-VIKUNJA_VOLUME_NAME=vikunja
-
-VIKUNJA_DOMAIN=vikunja.example.org
-VIKUNJA_SERVICE_FRONTENDURL=https://vikunja.example.org/
-
-VIKUNJA_SERVICE_JWTSECRET=change-me
-#VIKUNJA_SERVICE_JWTTTL=259200
-#VIKUNJA_SERVICE_JWTTTLLONG=2592000
-#VIKUNJA_SERVICE_MAXITEMSPERPAGE=50
-#VIKUNJA_SERVICE_ENABLECALDAV=true
-#VIKUNJA_SERVICE_ENABLELINKSHARING=true
-#VIKUNJA_SERVICE_ENABLEREGISTRATION=true
-#VIKUNJA_SERVICE_ENABLETASKATTACHMENTS=true
-#VIKUNJA_SERVICE_TIMEZONE=GMT
-#VIKUNJA_SERVICE_ENABLETASKCOMMENTS=true
-#VIKUNJA_SERVICE_ENABLETOTP=true
-#VIKUNJA_SERVICE_ENABLEEMAILREMINDERS=true
-#VIKUNJA_SERVICE_ENABLEUSERDELETION=true
-#VIKUNJA_FILES_BASEPATH=./files
-#VIKUNJA_FILES_MAXSIZE=20MB
-
-##########
-# POSTGRES
-
-#POSTGRES_IMAGE=
-POSTGRES_CONTAINER_NAME=vikunja-postgres-example
-POSTGRES_DB=vikunja-postgres-database-example
-POSTGRES_USER=vikunja-postgres-user-example
-POSTGRES_PASSWORD=vikunja-postgres-password-example
-POSTGRES_VOLUME_NAME=vikunja-postgres-example
-
-#VIKUNJA_DATABASE_TYPE=postgres
-#VIKUNJA_DATABASE_MAXOPENCONNECTIONS=100
-#VIKUNJA_DATABASE_MAXIDLECONNECTIONS=50
-#VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME=10000
-#VIKUNJA_DATABASE_SSLMODE=disable
-
-######
-# SMTP
-
-#VIKUNJA_MAILER_ENABLED=true
-#VIKUNJA_MAILER_SKIPTLSVERIFY=false
-#VIKUNJA_MAILER_QUEUELENGTH=100
-#VIKUNJA_MAILER_QUEUETIMEOUT=30
-#VIKUNJA_MAILER_FORCESSL=false
-
-VIKUNJA_MAILER_HOST=
-#VIKUNJA_MAILER_PORT=465
-VIKUNJA_MAILER_USERNAME=
-VIKUNJA_MAILER_PASSWORD=
-VIKUNJA_MAILER_FROMEMAIL=
-
-############
-# PROMETHEUS
-
-#VIKUNJA_METRICS_ENABLED=false
-#VIKUNJA_METRICS_USERNAME=
-#VIKUNJA_METRICS_PASSWORD=
-
-#######
-# REDIS
-
-#REDIS_IMAGE=
-REDIS_CONTAINER_NAME=vikunja-redis
-REDIS_VOLUME_NAME=vikunja-redis
-
-#########
-# TRAEFIK
-
-#TRAEFIK_NETWORK_NAME=traefik
-#TRAEFIK_ROUTER_NAME=vikunja
-#TRAEFIK_ENTRYPOINTS=web
diff --git a/vikunja/README.md b/vikunja/README.md
deleted file mode 100644
index 708a150..0000000
--- a/vikunja/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Vikunja
-
-> Vikunja est une application auto-hébergeable (facilement installable avec Yunohost) de gestion de tâches, utilisable depuis son navigateur ou un client desktop. Bien que jeune, l'application offre déjà de nombreuses fonctionnalités.
->
-> [Framalibre](https://framalibre.org/content/vikunja)
-
-## Liens
-
-- [Site officiel](https://vikunja.io/)
-- [Code source](https://kolaente.dev/vikunja/)
-- [Docker Hub](https://hub.docker.com/u/vikunja)
-- [Forum](https://community.vikunja.io/)
diff --git a/vikunja/docker-compose.local.yml b/vikunja/docker-compose.local.yml
deleted file mode 100644
index dbfbc28..0000000
--- a/vikunja/docker-compose.local.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: "3.8"
-
-services:
- vikunja_api:
- ports:
- - 3456:3456
- vikunja_frontend:
- ports:
- - ${LOCAL_PORT:-80}:80
- environment:
- VIKUNJA_API_URL: http://localhost:3456/api/v1
\ No newline at end of file
diff --git a/vikunja/docker-compose.logs.yml b/vikunja/docker-compose.logs.yml
deleted file mode 100644
index ec74292..0000000
--- a/vikunja/docker-compose.logs.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-version: "3.8"
-
-# https://vikunja.io/docs/config-options/#log
-
-services:
- vikunja_api:
- environment:
- # VIKUNJA_LOG_PATH
- VIKUNJA_LOG_ENABLED: ${VIKUNJA_LOG_ENABLED:-true}
- VIKUNJA_LOG_STANDARD: ${VIKUNJA_LOG_STANDARD:-stdout}
- VIKUNJA_LOG_LEVEL: ${VIKUNJA_LOG_LEVEL:-INFO} # Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
- VIKUNJA_LOG_DATABASE: ${VIKUNJA_LOG_DATABASE:-off} # Possible values are stdout, stderr, file or off to disable database
- VIKUNJA_LOG_DATABASELEVEL: ${VIKUNJA_LOG_DATABASELEVEL:-WARNING} # Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG
- VIKUNJA_LOG_HTTP: ${VIKUNJA_LOG_HTTP:-stdout} # Possible values are stdout, stderr, file or off to disable http logging.
- VIKUNJA_LOG_ECHO: ${VIKUNJA_LOG_ECHO:-off} # Possible values are stdout, stderr, file or off to disable standard logging.
- VIKUNJA_LOG_EVENTS: ${VIKUNJA_LOG_EVENTS:-stdout} # Possible values are stdout, stderr, file or off to disable events logging.
- VIKUNJA_LOG_EVENTSLEVEL: ${VIKUNJA_LOG_EVENTSLEVEL:-INFO} # Possible values (case-insensitive) are ERROR, INFO, DEBUG.
diff --git a/vikunja/docker-compose.postgres.yml b/vikunja/docker-compose.postgres.yml
deleted file mode 100644
index 4193043..0000000
--- a/vikunja/docker-compose.postgres.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-version: "3.8"
-
-# https://vikunja.io/docs/config-options/#database
-
-services:
- vikunja_api:
- depends_on:
- - postgres
- environment:
- VIKUNJA_DATABASE_TYPE: ${VIKUNJA_DATABASE_TYPE:-postgres}
- VIKUNJA_DATABASE_MAXOPENCONNECTIONS: ${VIKUNJA_DATABASE_MAXOPENCONNECTIONS:-100}
- VIKUNJA_DATABASE_MAXIDLECONNECTIONS: ${VIKUNJA_DATABASE_MAXIDLECONNECTIONS:-50}
- VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME: ${VIKUNJA_DATABASE_MAXCONNECTIONLIFETIME:-10000}
- VIKUNJA_DATABASE_SSLMODE: ${VIKUNJA_DATABASE_SSLMODE:-disable}
-
- VIKUNJA_DATABASE_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}:5432 # Default name is same as ../postgres/docker-compose.yml:8
- VIKUNJA_DATABASE_DATABASE: ${POSTGRES_DB:?err}
- VIKUNJA_DATABASE_USER: ${POSTGRES_USER:?err}
- VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?err}
diff --git a/vikunja/docker-compose.prometheus.yml b/vikunja/docker-compose.prometheus.yml
deleted file mode 100644
index 219ce35..0000000
--- a/vikunja/docker-compose.prometheus.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: "3.8"
-
-# https://vikunja.io/docs/config-options/#metrics
-
-services:
- vikunja_api:
- environment:
- VIKUNJA_METRICS_ENABLED: ${VIKUNJA_METRICS_ENABLED-:false}
- VIKUNJA_METRICS_USERNAME: ${VIKUNJA_METRICS_USERNAME}
- VIKUNJA_METRICS_PASSWORD: ${VIKUNJA_METRICS_PASSWORD}
diff --git a/vikunja/docker-compose.redis.yml b/vikunja/docker-compose.redis.yml
deleted file mode 100644
index 72289d6..0000000
--- a/vikunja/docker-compose.redis.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-version: "3.8"
-
-# https://vikunja.io/docs/config-options/#redis
-
-services:
- vikunja_api:
- depends_on:
- - redis
- environment:
- VIKUNJA_CACHE_ENABLED: 'true'
- VIKUNJA_CACHE_TYPE: redis
- VIKUNJA_REDIS_ENABLED: 'true'
-
- VIKUNJA_REDIS_HOST: ${REDIS_CONTAINER_NAME:-redis}:6379 # It's default port because we don't have yet configuration for redis port
- #VIKUNJA_REDIS_PASSWORD: ${VIKUNJA_REDIS_PASSWORD} # We don't have yet configuration for redis with password
- VIKUNJA_REDIS_DB: 0 # It's default becouse we don't have yet configuration for redis database name
diff --git a/vikunja/docker-compose.smtp.yml b/vikunja/docker-compose.smtp.yml
deleted file mode 100644
index c9f98c2..0000000
--- a/vikunja/docker-compose.smtp.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-version: "3.8"
-
-# https://vikunja.io/docs/config-options/#mailer
-
-services:
- vikunja_api:
- environment:
- VIKUNJA_MAILER_ENABLED: ${VIKUNJA_MAILER_ENABLED:-true}
- VIKUNJA_MAILER_SKIPTLSVERIFY: ${VIKUNJA_MAILER_SKIPTLSVERIFY:-false}
- VIKUNJA_MAILER_QUEUELENGTH: ${VIKUNJA_MAILER_QUEUELENGTH:-100}
- VIKUNJA_MAILER_QUEUETIMEOUT: ${VIKUNJA_MAILER_QUEUETIMEOUT:-30}
- VIKUNJA_MAILER_FORCESSL: ${VIKUNJA_MAILER_FORCESSL:-false}
-
- VIKUNJA_MAILER_HOST: ${VIKUNJA_MAILER_HOST:?err}
- VIKUNJA_MAILER_PORT: ${VIKUNJA_MAILER_PORT:-587}
- VIKUNJA_MAILER_USERNAME: ${VIKUNJA_MAILER_USERNAME:?err}
- VIKUNJA_MAILER_PASSWORD: ${VIKUNJA_MAILER_PASSWORD:?err}
- VIKUNJA_MAILER_FROMEMAIL: ${VIKUNJA_MAILER_FROMEMAIL:?err}
diff --git a/vikunja/docker-compose.traefik.yml b/vikunja/docker-compose.traefik.yml
deleted file mode 100644
index eabf6d1..0000000
--- a/vikunja/docker-compose.traefik.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-version: "3.8"
-
-networks:
- default:
- name: ${TRAEFIK_NETWORK_NAME:-traefik}
-
-# https://vikunja.io/docs/full-docker-example/#example-with-traefik-2
-
-services:
- vikunja_api:
- labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-api.rule=Host(`${VIKUNJA_DOMAIN:?err}`) && PathPrefix(`/api/v1`, `/dav/`, `/.well-known/`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-api.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
- vikunja_frontend:
- labels:
- - traefik.enable=true
- - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-frontend.rule=Host(`${VIKUNJA_DOMAIN:?err}`)
- - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-vikunja}-frontend.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}
diff --git a/vikunja/docker-compose.yml b/vikunja/docker-compose.yml
deleted file mode 100644
index ac99c02..0000000
--- a/vikunja/docker-compose.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-version: "3.8"
-
-# https://vikunja.io/docs/config-options
-# https://vikunja.io/docs/full-docker-example/
-
-volumes:
- vikunja:
- name: ${VIKUNJA_VOLUME_NAME:-vikunja}
-
-services:
- vikunja_api:
- container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_api
- image: ${VIKUNJA_API_IMAGE:-vikunja/api:0.18.1}
- restart: always
- environment:
- VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET}
- VIKUNJA_SERVICE_JWTTTL: ${VIKUNJA_SERVICE_JWTTTL:-259200}
- VIKUNJA_SERVICE_JWTTTLLONG: ${VIKUNJA_SERVICE_JWTTTLLONG:-2592000}
-
- VIKUNJA_SERVICE_FRONTENDURL: ${VIKUNJA_SERVICE_FRONTENDURL:?err}
- VIKUNJA_SERVICE_MAXITEMSPERPAGE: ${VIKUNJA_SERVICE_MAXITEMSPERPAGE:-50}
- VIKUNJA_SERVICE_ENABLECALDAV: ${VIKUNJA_SERVICE_ENABLECALDAV:-true}
- VIKUNJA_SERVICE_ENABLELINKSHARING: ${VIKUNJA_SERVICE_ENABLELINKSHARING:-true}
- VIKUNJA_SERVICE_ENABLEREGISTRATION: ${VIKUNJA_SERVICE_ENABLEREGISTRATION:-true}
- VIKUNJA_SERVICE_ENABLETASKATTACHMENTS: ${VIKUNJA_SERVICE_ENABLETASKATTACHMENTS:-true}
- VIKUNJA_SERVICE_TIMEZONE: ${VIKUNJA_SERVICE_TIMEZONE:-GMT}
- VIKUNJA_SERVICE_ENABLETASKCOMMENTS: ${VIKUNJA_SERVICE_ENABLETASKCOMMENTS:-true}
- VIKUNJA_SERVICE_ENABLETOTP: ${VIKUNJA_SERVICE_ENABLETOTP:-true}
- VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: ${VIKUNJA_SERVICE_ENABLEEMAILREMINDERS:-true}
- VIKUNJA_SERVICE_ENABLEUSERDELETION: ${VIKUNJA_SERVICE_ENABLEUSERDELETION:-true}
-
- VIKUNJA_FILES_BASEPATH: ${VIKUNJA_FILES_BASEPATH:-./files}
- VIKUNJA_FILES_MAXSIZE: ${VIKUNJA_FILES_MAXSIZE:-20MB}
- PUID: ${VIKUNJA_PUID:-1000}
- PGID: ${VIKUNJA_PGID:-1000}
- volumes:
- - vikunja:/app/vikunja/files
- - /etc/timezone:/etc/timezone:ro
- - /etc/localtime:/etc/localtime:ro
- vikunja_frontend:
- container_name: ${VIKUNJA_CONTAINER_NAME:-vikunja}_frontend
- image: ${VIKUNJA_FRONTEND_IMAGE:-vikunja/frontend:0.18.2}
- restart: always
- depends_on:
- - vikunja_api
diff --git a/watchtower/.env b/watchtower/.env
index 722e5d5..a00e64d 100644
--- a/watchtower/.env
+++ b/watchtower/.env
@@ -1,5 +1,5 @@
WATCHTOWER_CONTAINER_NAME=watchtower
-#WATCHTOWER_IMAGE=
+WATCHTOWER_IMAGE=containrrr/watchtower:1.0.3
REGISTRY_DOMAIN=registry.cool.life
REGISTRY_USER=kosssi
REGISTRY_PASSWORD=z91PjNYpswd4ai5YoMCw58VoygJSZev7qNJ0cAlPmPBD5pVz9O
diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml
index ed51860..52ee210 100644
--- a/watchtower/docker-compose.yml
+++ b/watchtower/docker-compose.yml
@@ -3,7 +3,7 @@ version: '3.8'
services:
watchtower:
container_name: ${WATCHTOWER_CONTAINER_NAME}
- image: ${WATCHTOWER_IMAGE:-containrrr/watchtower:1.4.0}
+ image: ${WATCHTOWER_IMAGE}
restart: always
command: -i 60 --label-enable --cleanup --debug
# --debug