Installeur streambox : one-liner sans registry (tar / ssh save-load)
This commit is contained in:
1 parent
02c60ddfb0
commit
28d0742091
3 files changed
+313
-1
No files matched your search
@@ -1,3 +1,83 @@
|
||||
# streambox-install
|
||||
|
||||
One-liner d installation streambox (public, sans secret)
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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)
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in new issue
Block a user