Les indispensables en Lab
Voici le docker compose des indispensables en Lab et la source de l'article vBlog correspondant : https://vblog.io/kumatraefik/
services: # Traefik - avec Let's Encrypt traefik: image: traefik:v3 container_name: traefik restart: unless-stopped command: - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.ovh-resolver.acme.dnschallenge=true" - "--certificatesresolvers.ovh-resolver.acme.dnschallenge.provider=ovh" - "--certificatesresolvers.ovh-resolver.acme.email=${EMAIL}" - "--certificatesresolvers.ovh-resolver.acme.storage=/certs/acme.json" ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - "./certs:/certs" env_file: - .env networks: - traefik-net # Dozzle dozzle: image: amir20/dozzle:latest container_name: dozzle restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.dozzle.rule=Host(dozzle.myvlab.ovh)" - "traefik.http.routers.dozzle.entrypoints=websecure" - "traefik.http.routers.dozzle.tls.certresolver=ovh-resolver" - "traefik.http.services.dozzle.loadbalancer.server.port=8080" volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - DOZZLE_REMOTE_AGENT=hostXXXXX:7007, hostYYYYY:7007 - TZ=Europe/Paris networks: - traefik-net # Uptime Kuma uptime-kuma: image: louislam/uptime-kuma:latest container_name: uptime-kuma restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.uptime-kuma.rule=Host(uptime.myvlab.ovh)" - "traefik.http.routers.uptime-kuma.entrypoints=websecure" - "traefik.http.routers.uptime-kuma.tls.certresolver=ovh-resolver" - "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001" volumes: - ./uptime-kuma:/app/data networks: - traefik-net # IT-Tools it-tools: image: corentinth/it-tools:latest container_name: it-tools restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.it-tools.rule=Host(it-tools.myvlab.ovh)" - "traefik.http.routers.it-tools.entrypoints=websecure" - "traefik.http.routers.it-tools.tls.certresolver=ovh-resolver" - "traefik.http.services.it-tools.loadbalancer.server.port=80" networks: - traefik-net # ConvertX convertx: image: ghcr.io/c4illin/convertx container_name: convertx restart: unless-stopped ports: - "3400:3000" environment: - JWT_SECRET=xxxxxxxxx # will use randomUUID() if unset - HTTP_ALLOWED=true # uncomment this if accessing it over a non-https connection volumes: - ./data:/app/data labels: - "traefik.enable=true" - "traefik.http.routers.convertx.rule=Host(convertx.myvlab.ovh)" - "traefik.http.routers.convertx.entrypoints=websecure" - "traefik.http.routers.convertx.tls.certresolver=ovh-resolver" - "traefik.http.services.convertx.loadbalancer.server.port=80" networks: - traefik-net networks: traefik-net: external: false
Le fichier .env du docker-compose :
# OVH API OVH_ENDPOINT=ovh-eu OVH_APPLICATION_KEY=xxxxxxxxxxxxx OVH_APPLICATION_SECRET=xxxxxxxxxxxxx OVH_CONSUMER_KEY=xxxxxxxxxxxxx # Email pour Let's Encrypt EMAIL=cedric@vblog.io
