From d7a2c37a4e1bb4cadfa28e8b49540eccd4f08aa9 Mon Sep 17 00:00:00 2001 From: PAPAMICA Date: Wed, 17 Feb 2021 21:28:28 +0100 Subject: [PATCH] update --- loki.yml | 34 +++++ templates-portainer.json | 290 ++++++++++++++++++++++++++++++++++++++- ts3rank.yml | 67 +++++++++ ts3viewer.yml | 53 ++++--- 4 files changed, 423 insertions(+), 21 deletions(-) create mode 100644 loki.yml create mode 100644 ts3rank.yml diff --git a/loki.yml b/loki.yml new file mode 100644 index 0000000..2d99eaa --- /dev/null +++ b/loki.yml @@ -0,0 +1,34 @@ +# Docker-compose mis à disposition par Mickael "PAPAMICA" Asseline +# Date de mise à jour : 27/10/2020 + +# Variables d'environnement à déclarer : +# - SERVICE : nom du service (exemple : plex) + +# Fonctionne avec Portainer +version: "2" + +networks: + proxy: + external: + name: proxy + +services: + loki: + image: grafana/loki:1.5.0 + container_name: $SERVICE + restart: always + ports: + - "3100:3100" + command: -config.file=/etc/loki/local-config.yaml + networks: + - proxy + + promtail: + image: grafana/promtail:1.5.0 + container_name: $SERVICE-promtail + restart: always + volumes: + - /var/log:/var/log + command: -config.file=/etc/promtail/docker-config.yaml + networks: + - proxy \ No newline at end of file diff --git a/templates-portainer.json b/templates-portainer.json index c0f0c9a..689eaf6 100644 --- a/templates-portainer.json +++ b/templates-portainer.json @@ -93,7 +93,7 @@ "description": "Serveur de discussions vocales", "note": "

Site de l'application : TeamSpeak.com<\/a>", "categories": [ - "Discussion", + "Communication", "PAPAMICA" ], "platform": "linux", @@ -126,6 +126,158 @@ "description": "exemple : papamica.fr" }] }, + + + { + "type": 3, + "title": "TeamSpeak Online Viewer", + "description": "Interface web pour serveur TeamSpeak", + "note": "

Site de l'application : Github.com<\/a>", + "categories": [ + "Communication", + "PAPAMICA" + ], + "platform": "linux", + "logo": "https://cdn2.iconfinder.com/data/icons/gaming-platforms-logo-shapes/250/teamspeak_logo-512.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "ts3viewer.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }, + { + "name": "DATA_LOCATION", + "label": "Localisation des données", + "description": "exemple /apps/'service'" + }, + { + "name": "URL_LOKI", + "label": "Lien du serveur loki", + "description": "exemple : ndd/loki/api/v1/push" + }, + { + "name": "DB_USER", + "label": "Utilisateur de la base de données" + }, + { + "name": "DB_PASSWORD", + "label": "Mot de passe de l'utilisateur" + }, + { + "name": "DB_ROOT", + "label": "Mot de passe root" + }, + { + "name": "NDD", + "label": "Lien du nom de domaine", + "description": "exemple : papamica.fr" + }] +}, + + +{ + "type": 3, + "title": "TeamSpeak Bot Stats", + "description": "Bot pour les statistiques de serveur TeamSpeak", + "note": "

Site de l'application : TS-RankSystem.com<\/a>", + "categories": [ + "Communication", + "PAPAMICA" + ], + "platform": "linux", + "logo": "https://cdn2.iconfinder.com/data/icons/gaming-platforms-logo-shapes/250/teamspeak_logo-512.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "ts3rank.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }, + { + "name": "DATA_LOCATION", + "label": "Localisation des données", + "description": "exemple /apps/'service'" + }, + { + "name": "URL_LOKI", + "label": "Lien du serveur loki", + "description": "exemple : ndd/loki/api/v1/push" + }, + { + "name": "DB_USER", + "label": "Utilisateur de la base de données" + }, + { + "name": "DB_PASSWORD", + "label": "Mot de passe de l'utilisateur" + }, + { + "name": "DB_ROOT", + "label": "Mot de passe root" + }, + { + "name": "NDD", + "label": "Lien du nom de domaine", + "description": "exemple : papamica.fr" + }] +}, + +{ + "type": 3, + "title": "NextCloud", + "description": "Serveur de partages de fichiers et bien plus !", + "note": "

Site de l'application : TS-RankSystem.com<\/a>", + "categories": [ + "Communication", + "PAPAMICA" + ], + "platform": "linux", + "logo": "https://www.biganet.net/wordpress/wp-content/uploads/2020/08/nextcloud.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "nextcloud.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }, + { + "name": "DATA_LOCATION", + "label": "Localisation des données", + "description": "exemple /apps/'service'" + }, + { + "name": "DATA", + "label": "Localisation de vos fichiers à explorer", + "description": "exemple /data" + }, + { + "name": "URL_LOKI", + "label": "Lien du serveur loki", + "description": "exemple : ndd/loki/api/v1/push" + }, + { + "name": "DB_USER", + "label": "Utilisateur de la base de données" + }, + { + "name": "DB_PASSWORD", + "label": "Mot de passe de l'utilisateur" + }, + { + "name": "DB_ROOT", + "label": "Mot de passe root" + }, + { + "name": "NDD", + "label": "Lien du nom de domaine", + "description": "exemple : papamica.fr" + }] +}, + { "type": 3, "title": "Bitwarden", @@ -208,6 +360,142 @@ "description": "exemple : papamica.fr" }] }, + + +{ + "type": 3, + "title": "Website-HTML", + "description": "Simple site internet HTML sous PHP 7.4", + "note": "

Site de l'application : Github.com<\/a>", + "categories": [ + "SelfHosted", + "PAPAMICA" + ], + "platform": "linux", + "logo": "http://assets.stickpng.com/thumbs/5847f5bdcef1014c0b5e489c.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "website-html.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }, + { + "name": "DATA_LOCATION", + "label": "Localisation des données", + "description": "exemple /apps/'service'" + }, + { + "name": "URL_LOKI", + "label": "Lien du serveur loki", + "description": "exemple : ndd/loki/api/v1/push" + }, + { + "name": "NDD", + "label": "Lien du nom de domaine", + "description": "exemple : papamica.fr" + }] +}, + +{ + "type": 3, + "title": "VS Code Online", + "description": "Visual Studio Code en ligne", + "note": "

Site de l'application : Github.com<\/a>", + "categories": [ + "SelfHosted", + "PAPAMICA" + ], + "platform": "linux", + "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Visual_Studio_Code_1.35_icon.svg/1024px-Visual_Studio_Code_1.35_icon.svg.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "vscode.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }, + { + "name": "DATA_LOCATION", + "label": "Localisation des données", + "description": "exemple /apps/'service'" + }, + { + "name": "PASSWORD", + "label": "Mot de passe d'accès" + }, + { + "name": "URL_LOKI", + "label": "Lien du serveur loki", + "description": "exemple : ndd/loki/api/v1/push" + }, + { + "name": "NDD", + "label": "Lien du nom de domaine", + "description": "exemple : papamica.fr" + }] +}, + + +{ + "type": 3, + "title": "Grafana", + "description": "Une interface web pour vos graphiques et explorer vos données !", + "note": "

Site de l'application : Grafana.com<\/a>

ATTENTION : <\/strong>Il faut cr\u00E9er et modifier le fichier grafana.ini <\/code><\/p> ", + "categories": [ + "SelfHosted", + "PAPAMICA" + ], + "platform": "linux", + "logo": "https://upload.wikimedia.org/wikipedia/en/thumb/a/a1/Grafana_logo.svg/1200px-Grafana_logo.svg.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "grafana.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }, + { + "name": "DATA_LOCATION", + "label": "Localisation des données", + "description": "exemple /apps/'service'" + }, + { + "name": "URL_LOKI", + "label": "Lien du serveur loki", + "description": "exemple : ndd/loki/api/v1/push" + }, + { + "name": "NDD", + "label": "Lien du nom de domaine", + "description": "exemple : papamica.fr" + }] +}, + +{ + "type": 3, + "title": "Loki", + "description": "Un concentrateur de logs", + "note": "

Site de l'application : Grafana.com<\/a>

ATTENTION : <\/strong>Merci de lire la documentation :<\/p> ", + "categories": [ + "SelfHosted", + "PAPAMICA" + ], + "platform": "linux", + "logo": "https://img.stackshare.io/service/10079/loki.png", + "repository": { + "url": "https://github.com/PAPAMICA/docker-compose-collection", + "stackfile": "loki.yml" + }, + "env": [{ + "name": "SERVICE", + "label": "Nom du service" + }] +}, + { "type": 3, "title": "CachetHQ", diff --git a/ts3rank.yml b/ts3rank.yml new file mode 100644 index 0000000..63079ca --- /dev/null +++ b/ts3rank.yml @@ -0,0 +1,67 @@ + +# Docker-compose mis à disposition par Mickael "PAPAMICA" Asseline +# Date de mise à jour : 27/10/2020 + +# Variables d'environnement à déclarer : +# - SERVICE : nom du service (exemple : plex) +# - DATA_LOCATION : localisation des données (exemple /apps/"service") +# - URL_LOKI : lien du serveur loki (exemple : ndd/loki/api/v1/push) +# - NDD : lien du nom de domaine (exemple : papamica.fr) +# - DB_USER : nom d'utilisateur pour la base de données (exemple : papamica) +# - DB_PASSWORD : mot de passe pour la base de données +# - DB_ROOT : mot de passe ROOT pour la base de données + +# Fonctionne avec Portainer +version: '2' +services: + mariadb: + image: mariadb:10.4.12 + container_name: $SERVICE-db + restart: always + volumes: + - $DATA_LOCATION/db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=$DB_ROOT + - MYSQL_DATABASE=RanksystemDatabase + - MYSQL_USER=$DB_USER + - MYSQL_PASSWORD=$DB_PASSWORD + networks: + - proxy + logging: + driver: loki + options: + loki-url: "$URL_LOKI" + loki-external-labels: service={{.Name}} + + ranksystem: + image: jusito/docker-teamspeak-ranksystem:develop + container_name: $SERVICE + restart: always + volumes: + - $DATA_LOCATION/tsrank:/var/www/html + depends_on: + - mariadb + networks: + - proxy + 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(`$SERVICE.$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(`$SERVICE.$NDD`)" + - "traefik.http.routers.$SERVICE-secure.tls=true" + - "traefik.http.routers.$SERVICE-secure.tls.certresolver=http" + - "traefik.docker.network=proxy" + + +networks: + proxy: + external: + name: proxy \ No newline at end of file diff --git a/ts3viewer.yml b/ts3viewer.yml index 0bbc630..b238e47 100644 --- a/ts3viewer.yml +++ b/ts3viewer.yml @@ -7,30 +7,21 @@ # - DATA_LOCATION : localisation des données (exemple /apps/"service") # - URL_LOKI : lien du serveur loki (exemple : ndd/loki/api/v1/push) # - NDD : lien du nom de domaine (exemple : papamica.fr) -# - TS_SERVER : ip du serveur TeamSpeak -# - TS_PORT : port du serveur TeamSpeak +# - DB_USER : nom d'utilisateur pour la base de données (exemple : papamica) +# - DB_PASSWORD : mot de passe pour la base de données +# - DB_ROOT : mot de passe ROOT pour la base de données # Fonctionne avec Portainer version: "2" -services: - ts3viewer: - image: jotschi/ts3viewer - container_name: $SERVICE - restart: always - volumes: - - $DATA_LOCATION/viewer:/var/www/html/ - environment: - - PUID=1000 - - PGID=1000 - - TS_PORT=10011 - - TS_HOST=$TS_SERVER - - TS_SERVER_PORT=$TS_PORT - - TS_VIEWER_LIGHT_MODE="false" - - TS_VIEWER_CACHE_TIME="20" -# - TS_QUERY_LOGIN="LOGIN_NAME" -# - TS_QUERY_PASS="PASSWORD" - # Facultatif +services: + tsweb: + image: yeahnice1/ts-website + container_name: $SERVICE + volumes: + - $DATA_LOCATION/config:/var/www/html + restart: always + # Facultatif networks: - proxy logging: @@ -49,6 +40,28 @@ services: - "traefik.http.routers.$SERVICE-secure.tls=true" - "traefik.http.routers.$SERVICE-secure.tls.certresolver=http" - "traefik.docker.network=proxy" + + + tsweb-db: + image: mariadb:10.4.12 + container_name: $SERVICE-mariadb + restart: always + volumes: + - $DATA_LOCATION/db:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=$DB_ROOT + - MYSQL_DATABASE=tsweb + - MYSQL_USER=$DB_USER + - MYSQL_PASSWORD=$DB_PASSWORD + networks: + - proxy + logging: + driver: loki + options: + loki-url: "$URL_LOKI" + loki-external-labels: service={{.Name}} + + networks: proxy: