Déploiement Podman : variante compose (socket podman pour Watchtower) + doc
This commit is contained in:
@@ -6,7 +6,7 @@ regarder et télécharger des animes et séries VOSTFR/VF.
|
||||
## Déploiement (Docker) — recommandé
|
||||
|
||||
Le déploiement officiel passe par Docker Compose : l'image (ffmpeg inclus) est
|
||||
hébergée sur le **registre privé du Gitea** — rien n'est publié publiquement.
|
||||
hébergée sur le **registre du Gitea** — un compte y est requis, même en lecture.
|
||||
|
||||
### Installation guidée (recommandée)
|
||||
|
||||
@@ -36,7 +36,34 @@ docker compose up -d
|
||||
```
|
||||
|
||||
Puis ouvrir http://localhost:8777 — le **premier compte créé est administrateur**.
|
||||
Les données (`data/`, `downloads/`) sont montées en volumes : elles survivent aux
|
||||
Les données (`data/`, `downloads/`) sont montées en volumes : elles survivent aux mises à jour.
|
||||
|
||||
### Variante Podman
|
||||
|
||||
Même déploiement via `docker-compose.podman.yml` (socket Podman pour Watchtower,
|
||||
au lieu du socket Docker) :
|
||||
|
||||
```bash
|
||||
# 0. 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 (aucun export nécessaire)
|
||||
|
||||
# 1. Récupérer le projet puis se connecter au registre (compte Gitea requis)
|
||||
git clone https://git.lanro.eu/Roman/ohm_streaming.git && cd ohm_streaming
|
||||
podman login git.lanro.eu
|
||||
|
||||
# 2. Configuration locale (identique à Docker)
|
||||
cp .env.example .env # → OHM_SECRET_KEY et WATCHTOWER_TOKEN obligatoires
|
||||
|
||||
# 3. Démarrage
|
||||
podman compose -f docker-compose.podman.yml up -d
|
||||
# (« podman compose » délègue à docker-compose ; sinon : podman-compose)
|
||||
```
|
||||
|
||||
La mise à jour depuis la page Admin (bouton Watchtower) fonctionne à l'identique ;
|
||||
à la main : `podman compose -f docker-compose.podman.yml pull && podman compose -f docker-compose.podman.yml up -d`.
|
||||
|
||||
|
||||
### Bibliothèque Plex / Sonarr existante
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# 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 login git.lanro.eu (compte Gitea requis, même en lecture)
|
||||
# 4. 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: git.lanro.eu/roman/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"
|
||||
Reference in New Issue
Block a user