Files
docker-compose-collection/shorturl.yml
Mickael Asseline 556df4c46a Fix tag latest
2021-08-26 14:59:10 +02:00

79 lines
2.4 KiB
YAML

# 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
# - ADMIN_USERNAME : identifiant pour l'administrateur
# - ADMIN_PASSWORD : mot de passe pour l'administrateur
# - ADMIN_EMAIL : email de l'administrateur
# Fonctionne avec Portainer
version: "2"
services:
#POLR : https://polrproject.org/
polr:
image: ajanvier/polr:latest
container_name: $SERVICE
environment:
- DB_HOST=polr-db
- DB_DATABASE=shorturl
- DB_USERNAME=$DB_USER
- DB_PASSWORD=$DB_PASSWORD
- APP_ADDRESS=$SERVICE.$NDD
- ADMIN_USERNAME=$ADMIN_USERNAME
- ADMIN_PASSWORD=$ADMIN_PASSWORD
- ADMIN_EMAIL=$ADMIN_EMAIL
depends_on:
- polr-db
# ports:
# - 980:80
# Facultatif
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"
# Base de donnée
polr-db:
image: mariadb:10.5.6
container_name: polr-db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=$DB_ROOT
- MYSQL_DATABASE=shorturl
- MYSQL_USER=$DB_USER
- MYSQL_PASSWORD=$DB_PASSWORD
volumes:
- $DATA_LOCATION/data:/var/lib/mysql
# Facultatif
networks:
- proxy
networks:
proxy:
external:
name: proxy