Commit 73a488
2025-12-26 13:19:54 Cédric: -/-| /dev/null .. les indispensables en lab.md | |
| @@ 0,0 1,118 @@ | |
| + | # Les indispensables en Lab |
| + | |
| + | Voici le docker compose des indispensables en Lab et la source de l'article vBlog correspondant : |
| + | https://vblog.io/kumatraefik/ |
| + | |
| + | ```shell |
| + | 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 : |
| + | ```text |
| + | # 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 |
| + | ``` |
