diff --git a/cachethq.yml b/cachethq.yml index ad2fa8b..e6566d6 100644 --- a/cachethq.yml +++ b/cachethq.yml @@ -25,6 +25,14 @@ services: - POSTGRES_PASSWORD=$DB_PASSWORD restart: always + #HealthCheck + healthcheck: + test: curl --fail http://localhost:8000 || exit 1 + interval: 1m + timeout: 30s + retries: 3 + + # Facultatif networks: - proxy diff --git a/filebrowser.yml b/filebrowser.yml index d6db17d..c673105 100644 --- a/filebrowser.yml +++ b/filebrowser.yml @@ -23,6 +23,11 @@ services: - $DATA_LOCATION/database.db:/database.db # ports: # - 8080:80 + healthcheck: + test: wget -nv -t1 --spider 'http://localhost:80' + interval: 1m + timeout: 30s + retries: 3 networks: diff --git a/grafana.yml b/grafana.yml index 8c384ff..5a3ec0c 100644 --- a/grafana.yml +++ b/grafana.yml @@ -27,6 +27,12 @@ services: - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=alexanderzobnin-zabbix-datasource # ports: # - 3001:3000 + healthcheck: + test: wget -nv -t1 --spider 'http://localhost:3000/' + interval: 1m + timeout: 30s + retries: 3 + # Facultatif networks: diff --git a/hastebin.yml b/hastebin.yml index 9983aaf..ac8093e 100644 --- a/hastebin.yml +++ b/hastebin.yml @@ -22,6 +22,13 @@ services: # ports: # - 8080:80 + healthcheck: + test: wget -s 'http://localhost:7777' + interval: 1m + timeout: 30s + retries: 3 + + # Facultatif networks: - proxy diff --git a/jirafeau.yml b/jirafeau.yml index 09cd678..58cfe42 100644 --- a/jirafeau.yml +++ b/jirafeau.yml @@ -19,6 +19,12 @@ services: - $DATA_LOCATION/cfg:/cfg - $DATA_LOCATION/data:/data - $DATA_LOCATION/media:/jirafeau/media + healthcheck: + test: wget -nv -t1 --spider 'http://localhost:80' + interval: 1m + timeout: 30s + retries: 3 + networks: - proxy logging: diff --git a/keycloak.yml b/keycloak.yml new file mode 100644 index 0000000..801a548 --- /dev/null +++ b/keycloak.yml @@ -0,0 +1,56 @@ +# Docker-compose mis à disposition par Mickael "PAPAMICA" Asseline +# Date de mise à jour : 04/09/2021 + +# Variables d'environnement à déclarer : +# - SERVICE : nom du service (exemple : mariadb) +# - KC_USER : utilisteur admin +# - KC_PASSWORD : mot de passe de l'utilisateur admin +# - KC_DB_HOST : nom du conteneur du SGBD +# - KC_DATABASE : nom de la BDD +# - KC_DB_USER : nom utilisateur BDD +# - KC_DB_PASSWORD : mot de passe de la BDD +# - NDD : Nom de domaine de l'application (ex : auth.papamica.com) + +# Fonctionne avec Portainer + +version: "2" +services: + keycloak: + image: jboss/keycloak:latest + container_name: $SERVICE + restart: unless-stopped + environment: + KEYCLOAK_USER: $KC_USER + KEYCLOAK_PASSWORD: $KC_PASSWORD + PROXY_ADDRESS_FORWARDING: 'true' + DB_ADDR: $KC_DB_HOST + DB_DATABASE: $KC_DATABASE + DB_USER: $KC_DB_USER + DB_PASSWORD: $KC_DB_PASSWORD + healthcheck: + test: curl --fail http://localhost:8080/auth/realms/master + interval: 1m + timeout: 30s + retries: 3 + logging: + driver: loki + options: + loki-url: "$URL_LOKI" + loki-external-labels: service={{.Name}} + labels: + - "traefik.enable=true" + - "traefik.http.routers.$SERVICE.entrypoints=http" + - "traefik.http.routers.$SERVICE.rule=Host(`$NDD`)" + - "traefik.http.middlewares.$SERVICE-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.$SERVICE.middlewares=$SERVICE-https-redirect" + - "traefik.http.routers.$SERVICE-secure.entrypoints=https" + - "traefik.http.routers.$SERVICE-secure.rule=Host(`$NDD`)" + - "traefik.http.routers.$SERVICE-secure.tls=true" + - "traefik.http.routers.$SERVICE-secure.tls.certresolver=http" + - "traefik.docker.network=proxy" + networks: + - proxy +networks: + proxy: + external: + name: proxy diff --git a/openvpn.yml b/openvpn.yml new file mode 100644 index 0000000..049370f --- /dev/null +++ b/openvpn.yml @@ -0,0 +1,55 @@ +# Docker-compose mis à disposition par Mickael "PAPAMICA" Asseline +# Date de mise à jour : 04/09/2021 + +# Variables d'environnement à déclarer : +# - SERVICE : nom du service (exemple : pgadmin) +# - PUID : uid de l'utilisateur système (exemple : 1001) +# - GUID : gid du groupe système (exemple : 1001) +# - INTERFACE: nom de l'interface réseau +# - TZ : Timezone du service (exemple : Europe/Paris) +# - DATA_LOCATION : localisation des données (exemple /apps/"service") +# - NDD : nom de domaine de l'application (ex : vpn.papamica.com) + +# Fonctionne avec Portainer + +version: "2" +services: + openvpn-as: + image: linuxserver/openvpn-as:latest + container_name: $SERVICE + cap_add: + - NET_ADMIN + environment: + - PUID=$PUID + - PGID=$PGID + - TZ=$TZ + - INTERFACE=$INTERFACE + healthcheck: + test: curl --fail --insecure https://localhost:943 || exit 1 + interval: 1m + timeout: 30s + retries: 3 + logging: + driver: loki + options: + loki-url: "$URL_LOKI" + loki-external-labels: service={{.Name}} + volumes: + - $DATA_LOCATION:/config + ports: + - 9443:9443 + - 1194:1194/udp + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.routers.$SERVICE.entrypoints=https" + - "traefik.http.routers.$SERVICE.rule=Host(`$NDD`)" + - "traefik.http.services.$SERVICE.loadbalancer.server.port=943" + - "traefik.http.services.$SERVICE.loadbalancer.server.scheme=https" + - "traefik.docker.network=proxy" + networks: + - proxy +networks: + proxy: + external: + name: proxy diff --git a/projectsend.yml b/projectsend.yml index 262baef..c12aa87 100644 --- a/projectsend.yml +++ b/projectsend.yml @@ -28,6 +28,13 @@ services: - $DATA:/data # ports: # - 80:80 + + healthcheck: + test: curl --fail http://localhost:80 || exit 1 + interval: 1m + timeout: 30s + retries: 3 + # Facultatif networks: diff --git a/templates-portainer.json b/templates-portainer.json index e43d3d9..45af348 100644 --- a/templates-portainer.json +++ b/templates-portainer.json @@ -397,6 +397,107 @@ "label": "Url du service loki" }] }, +{ + "type": 3, + "title": "OpenVPN AS", + "description": "Serveur VPN", + "note": "