Une petite sauvegarde des docker-compose.yml de mes conteneurs.
Les conteneurs docker qui sont utilisés :
- changedetection
- immich
- omnitools
- plex
- portainer
- tt-rss
- uptime-kuma
Tous les containers tournent sur une Freebox Delta sauf ttrss qui nécessite un processeur autre que ARM pour fonctionner.
ChangeDetection
ChangeDetection.io : Monitorer les modifications de sites web en temps réel avec un outil open-source auto-hébergé
ChangeDetection.io est une solution open-source légère et auto-hébergeable qui vous alerte dès qu’un changement est détecté sur une page.
Automatise la surveillance de sites en ligne sans dépendre de services tiers.
services:
  changedetection:
    image: ghcr.io/dgtlmoon/changedetection.io:latest
    container_name: changedetection
    environment:
      - PUID=1010
      - PGID=1010
      - TZ=Europe/Paris
      - BASE_URL=https://localhost:5001/
      - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000
    ports:
      - 5001:5000
    volumes:
      - /home/regis/docker/changedetection/config:/config
      - /home/regis/docker/changedetection/data:/datastore:rw
    restart: unless-stopped
  playwright-chrome:
    hostname: playwright-chrome
    image: dgtlmoon/sockpuppetbrowser:latest
    restart: unless-stopped
    tmpfs:
      - /tmp
    environment:
      - SCREEN_WIDTH=1280
      - SCREEN_HEIGHT=800
      - SCREEN_DEPTH=16
      - MAX_CONCURRENT_CHROME_PROCESSES=5
      - STATS_REFRESH_SECONDS=120
immich
Alternative open-source auto-hébergée à Google Photos.
Immich est une plateforme open-source d’hébergement et de sauvegarde de photos/vidéos, alternative à Google Photos ou iCloud tout en gardant le contrôle total sur vos fichiers.
version: '3.8'
x-name: immich
services:
  immich-server:
    container_name: immichserver
    image: ghcr.io/immich-app/immich-server:release
    # Transcodage materiel : NAS avec un processeur Intel, retirer les 2 # ci-dessous
    # devices:
    #  - /dev/dri:/dev/dri
    volumes:
      - ./library:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      UPLOAD_LOCATION: /usr/src/app/upload
      TZ: Europe/Paris
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false
  immich-machine-learning:
    container_name: immichmachinelearning
    image: ghcr.io/immich-app/immich-machine-learning:release
    volumes:
      - ./model-cache:/cache
    environment:
      TZ: Europe/Paris
    restart: always
    healthcheck:
      disable: false
  redis:
    container_name: immichredis
    image: redis:6.2-alpine
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always
  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg16-v0.2.1
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: immich
    volumes:
      - ./postgres:/var/lib/postgresql/data
    healthcheck:
      test: >-
        pg_isready --dbname="immich" --username="postgres" || exit 1;
      interval: 5m
      retries: 3
      start_period: 5m
    restart: always
omnitools
Omni-Tools : boîte à outils ultime.
Omni-Tools propose une collection open-source d’outils polyvalents conçus pour simplifier la gestion des systèmes, l’automatisation des tâches…
services:
  omni-tools:
    image: iib0011/omni-tools:latest
    container_name: omni-tools
    restart: unless-stopped
    ports:
      - "8086:80"
plex
Plex Media Server : héberger et streamer des médias.
Organiser vos médias, et accéder à votre contenu n’importe où, avec transcodage intelligent et gestion multi-utilisateurs.
version: "3.8"
services:
  plex:
    container_name: plex
    image: plexinc/pms-docker
    restart: unless-stopped
    network_mode: host
    volumes:
      - /home/regis/docker/plex/config:/config
      - /home/regis/docker/plex/transcode:/transcode
      - /mnt/Freebox:/data
portainer
Portainer CE : gestion des conteneurs avec une interface simple.
Simplifie la gestion des conteneurs, stacks et clusters Kubernetes, déployer, surveiller et sécuriser les environnements conteneurisés en quelques clics.
version: '3'
services:
  portainer:
    image: portainer/portainer-ce
    ports:
      - 9000:9000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/regis/docker/portainer/data:/data
    restart: always
volumes:
  portainer_data:
tt-rss
Tiny Tiny RSS : agrégateur de flux RSS ultra-rapide et privé.
Contrôler ses abonnements RSS, synchroniser ses articles sur tous les appareils et lire less flux en toute confidentialité, sans dépendre de services tiers comme Feedly ou Inoreader.
version: '3'
services:
  # see FAQ entry below if upgrading from a different PostgreSQL major version (e.g. 12 to 15):
  # https://tt-rss.org/wiki/InstallationNotes/#i-got-the-updated-compose-file-above-and-now-my-database-keeps-restarting
  db:
    image: postgres:12-alpine
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - POSTGRES_USER=${TTRSS_DB_USER}
      - POSTGRES_PASSWORD=${TTRSS_DB_PASS}
      - POSTGRES_DB=${TTRSS_DB_NAME}
    volumes:
      - db:/var/lib/postgresql/data
  app:
    image: cthulhoo/ttrss-fpm-pgsql-static:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - db
  updater:
    image: cthulhoo/ttrss-fpm-pgsql-static:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - app
    command: /opt/tt-rss/updater.sh
  web-nginx:
    image: cthulhoo/ttrss-web-nginx:latest
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - ${HTTP_PORT}:80
    volumes:
      - app:/var/www/html:ro
    depends_on:
      - app
volumes:
  db:
  app:
  backups:
uptime-kuma
Uptime Kuma : surveillance de sites et services en temps réel avec un tableau de bord open-source auto-hébergé.
Surveiller la disponibilité de sites, recevoir des alertes instantanées (email, Telegram, Discord, etc.) et visualiser les temps de réponse sur un tableau de bord clair et personnalisable. Alternative à Pingdom ou UptimeRobot.
# Simple docker-compose.yml
# You can change your port or volume location
version: '3.3'
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma-data:/app/data
    ports:
      - 3001:3001  # <Host Port>:<Container Port>
    restart: always
