# Déploiement OhmStreaming sous Podman — variante de docker-compose.yml # # 1. Activer le socket Podman (une seule fois) : # rootless : systemctl --user enable --now podman.socket # sudo loginctl enable-linger $USER # persister après déconnexion # export PODMAN_SOCKET=/run/user/$(id -u)/podman/podman.sock # rootful : sudo systemctl enable --now podman.socket # 2. cp .env.example .env && $EDITOR .env (OHM_SECRET_KEY + WATCHTOWER_TOKEN obligatoires) # 3. podman compose -f docker-compose.podman.yml up -d # (ou podman-compose -f docker-compose.podman.yml up -d) # # Mise à jour : page Admin → « Mise à jour », ou manuellement : # podman compose -f docker-compose.podman.yml pull && podman compose -f docker-compose.podman.yml up -d services: ohm: image: ${OHM_IMAGE:-ghcr.io/aulyriusohm/ohm-streaming:latest} restart: unless-stopped ports: - "${OHM_PORT:-8777}:8777" env_file: .env environment: # Chemins internes (volumes ci-dessous) — ne pas changer OHM_DATA_DIR: /data OHM_DOWNLOAD_DIR: /downloads OHM_DATABASE_PATH: /data/ohm.db # Watchtower compagnon sur le réseau interne compose OHM_WATCHTOWER_URL: http://watchtower:8080 OHM_WATCHTOWER_TOKEN: ${WATCHTOWER_TOKEN:?WATCHTOWER_TOKEN manquant — voir .env.example} volumes: # Fedora/SELinux : suffixer de « :z » en cas d'erreur « Permission denied » - ./data:/data - ./downloads:/downloads # Compagnon de mise à jour : recrée le conteneur ohm quand l'admin le demande # (API HTTP interne uniquement, aucun port publié sur l'hôte) watchtower: image: containrrr/watchtower restart: unless-stopped volumes: # Socket Podman (compatible API Docker) au lieu de /var/run/docker.sock - ${PODMAN_SOCKET:-/run/podman/podman.sock}:/var/run/docker.sock environment: # Pas de vérification périodique : uniquement sur appel de l'admin WATCHTOWER_HTTP_API_UPDATE: "true" WATCHTOWER_HTTP_API_TOKEN: ${WATCHTOWER_TOKEN:?WATCHTOWER_TOKEN manquant — voir .env.example} # Ne mettre à jour que les conteneurs étiquetés (ohm), pas watchtower lui-même WATCHTOWER_LABEL_ENABLE: "true" # Pas de DOCKER_API_VERSION : Podman annonce lui-même la version d'API # Supprimer les anciennes images après mise à jour WATCHTOWER_CLEANUP: "true"