1
0
Fork 0

docs: document deployment and usage

This commit is contained in:
thibaud-leclere 2026-05-05 10:07:35 +02:00
parent 800f4c233f
commit 48def71a28

64
README.md Normal file
View file

@ -0,0 +1,64 @@
# Get Installer Bootstrap
Application web qui sert des scripts `.sh` depuis un cache local alimenté par des dépôts Git.
Exemple : un mapping `mcp/graylog/install.sh` peut servir le fichier `install.sh` du dépôt `https://forge.lclr.dev/AI/graylog-mcp.git`.
## Fonctionnement
- `/admin` affiche lécran de connexion puis linterface de gestion.
- Un mapping lie un chemin public `.sh` à une URL Git, une référence Git et un chemin de fichier dans le dépôt.
- Le bouton `Synchroniser` clone ou met à jour le dépôt, extrait la référence demandée et copie le fichier dans le cache.
- Les chemins publics hors `/admin` servent uniquement les scripts déjà synchronisés.
- Un token daccès optionnel peut être renseigné pour les dépôts privés en HTTPS. Il est utilisé via `GIT_ASKPASS` pendant la synchronisation.
## Développement
```bash
docker compose -f compose.yaml -f compose.dev.yaml up -d --build
docker compose -f compose.yaml -f compose.dev.yaml exec app php bin/console app:admin:create admin 'change-me'
```
Lapplication est disponible sur `http://localhost:8080`.
Le fichier `compose.dev.yaml` monte le répertoire local dans `/app`, ce qui permet de tester les changements sans rebuild de limage.
## Production / Coolify
Déployer avec `compose.yaml`.
Variables utiles :
```dotenv
APP_SECRET=replace-with-a-long-random-secret
HTTP_PORT=8080
```
Les migrations SQLite sont exécutées au démarrage du conteneur `app`. Les volumes Docker conservent :
- `app-data` : base SQLite `/app/var/data/app.db`
- `app-cache` : dépôts clonés et scripts servis depuis `/app/var/bootstrap-cache`
Créer ou mettre à jour un compte admin :
```bash
docker compose exec app php bin/console app:admin:create admin 'strong-password'
```
## Tests
```bash
docker compose -f compose.yaml -f compose.dev.yaml run --rm -e APP_ENV=test app php vendor/bin/phpunit
```
## Servir un script
1. Se connecter sur `/admin`.
2. Créer un mapping :
- Chemin public : `mcp/graylog/install.sh`
- Dépôt : `https://forge.lclr.dev/AI/graylog-mcp.git`
- Réf. : `main`
- Fichier : `install.sh`
- Token : optionnel, pour dépôt privé
3. Cliquer sur `Synchroniser`.
4. Appeler `http://localhost:8080/mcp/graylog/install.sh`.