2.6 KiB
streambox-install
One-liner d'installation / mise à jour de streambox AIO. Dépôt public :
il ne contient que le script et le docker-compose.yml, aucun secret (les
configs vivent dans config/ sur la machine cible). Le code source reste dans
hamriou/StreamBox, privé.
Installation
curl -fsSL https://git.les2ter.fr/gitea/hamriou/streambox-install/raw/branch/main/install.sh | sudo bash
Sans registry : l'image doit déjà être présente sur la machine (docker load).
Depuis une archive
curl -fsSL .../install.sh | sudo bash -s -- --tar /tmp/streambox-aio-v49.tar --tag v49
--tar accepte aussi une URL.
Depuis une autre machine du LAN
curl -fsSL .../install.sh | sudo bash -s -- --from-ssh lab --tag v49
Équivalent à ssh lab 'sudo docker save streambox-aio:v49' | docker load, puis
up -d. Aucun port entrant à ouvrir, aucune authentification registry.
Depuis un registry (option)
curl -fsSL .../install.sh | sudo bash -s -- --image git.les2ter.fr/hamriou/streambox-aio:v49
Options
| Option | Rôle |
|---|---|
--dir DIR |
répertoire d'installation (défaut ~/aio) |
--tag TAG |
tag de l'image (défaut latest) |
--tar FICHIER|URL |
charger l'image par docker load |
--from-ssh HOST |
ssh HOST 'docker save …' | docker load |
--image REPO:TAG |
docker pull puis tag local |
--wait N |
attente max du health check (défaut 90 s) |
--dry-run |
affiche les actions sans rien modifier |
Mise à jour
# sur la machine source
docker save streambox-aio:v50 | ssh vps 'sudo docker load'
# sur le VPS
curl -fsSL .../install.sh | sudo bash -s -- --tag v50
L'installeur sauvegarde le docker-compose.yml précédent en .bak.<date> s'il
change, et ne touche jamais config/, data/ ni log/.
Rollback
cd ~/aio && IMAGE_TAG=v49 docker compose up -d
L'image précédente doit être encore présente (docker image ls streambox-aio).
Vérification
Après démarrage : running + HTTP 200 sur http://<hôte>:3005/. En cas d'échec
l'installeur sort en erreur avec la commande de logs à lancer.
Pourquoi pas le registry Gitea
Le registry de cette instance (git.les2ter.fr) refuse les jetons
authentifiés : /v2/token renvoie un JWT UserID: -1 avec un Scope vide,
car ENABLE_BASIC_AUTHENTICATION = false (instance YunoHost en SSO). Docker
n'obtient un token registry que par HTTP Basic → « Login Succeeded » puis
unauthorized. docker save | docker load contourne le problème sans toucher
à app.ini ni affaiblir le SSO.