84 lines
2.6 KiB
Markdown
84 lines
2.6 KiB
Markdown
# 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
|
|
|
|
```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.
|