52 lines
2.4 KiB
YAML
52 lines
2.4 KiB
YAML
# 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"
|