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/.

Adoption d'un conteneur existant

Si un conteneur streambox-aio tourne déjà mais a été créé par docker run (sans labels compose), docker compose up -d échouerait sur un conflit de nom. L'installeur le détecte, l'arrête et le renomme streambox-aio.avant-compose.<date> — il n'est pas supprimé. Il reste le rollback immédiat :

docker rm -f streambox-aio
docker rename streambox-aio.avant-compose.<date> streambox-aio
docker start streambox-aio

Un conteneur déjà géré par ce projet compose est simplement recréé.

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.

S
Description
No description provided
Readme
34 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 100%