Bonjour à tous
Pour ceux que ça intéresse, et parce que le hasard fait que je viens juste de travailler sur le sujet, je vous poste le docker-compose de Sonerezh avec traefik fonctionnel
Créer auparavant un dossier traefik
mkdir -p /home/user/traefik
puis coller dedans le contenu ci dessous en changeant l'adresse mail et le domaine
nano /home/user/traefik/traefik.toml
defaultEntryPoints = ["https","http"]
[api]
entryPoint = "traefik"
dashboard = true
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
minVersion = "VersionTLS12"
cipherSuites = [
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
]
[entryPoints.traefik]
address = ":8080"
[acme]
email = "admin@example.com"
storage = "/etc/traefik/acme/acme.json"
entryPoint = "https"
onHostRule = true
onDemand = false
[acme.httpChallenge]
entryPoint = "http"
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "example.com"
watch = true
exposedbydefault = false
Et enfin le docker compose
version: '3'
services:
traefik:
image: traefik
container_name: traefik
restart: unless-stopped
hostname: traefik
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:traefik.example.com
- traefik.port=80
- traefik.docker.network=traefik_proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /home/user/traefik/traefik.toml:/traefik.toml:ro
- /home/user/letsencrypt/certs:/etc/traefik/acme:rw
ports:
- "80:80"
- "443:443"
networks:
- proxy
sonerezh:
container_name: sonerezh
image: gilou/sonerezh:1.2.4-7
volumes:
- /home/user/sonerezh/music:/music
- /home/user/sonerezh/thumbnails:/thumbnails
labels:
- traefik.backend=sonerezh
- traefik.port=80
- traefik.frontend.rule=Host:sonerezh.example.com
- traefik.enable=true
- traefik.docker.network=traefik_proxy
environment:
- SONEREZH_DB_PORT_3306_TCP_ADDR=mariadb
- SONEREZH_DB_ENV_MYSQL_DATABASE=sonerezh
- SONEREZH_DB_ENV_MYSQL_USER=sonerezh
- SONEREZH_DB_ENV_MYSQL_PASSWORD=motdepasse
depends_on:
- mariadb
networks:
- proxy
- internal
mariadb:
image: mariadb
environment:
- MYSQL_USER=sonerezh
- MYSQL_PASSWORD=motdepasse
- MYSQL_DATABASE=sonerezh
- MYSQL_ROOT_PASSWORD=motdepasse
volumes:
- /home/user/mariadb:/var/lib/mysql
networks:
- internal
labels:
- traefik.enable=false
networks:
proxy:
external:
name: traefik_proxy
internal:
external: false
Là encore, modifier le domaine et le mot de passe, puis pointer sur sonerezh.example.com
Voili, voilou, c'est la toute derniere version à jour (Sonerezh v1.2.4 on Docker, Mysql | sonerezh.bzh)
@xavier, je ne t'oublie pas, je finis avec chris 😉, c'est d'ailleurs pour lui que j'ai planché sur le sujet