docs: document deployment and usage
This commit is contained in:
parent
800f4c233f
commit
48def71a28
1 changed files with 64 additions and 0 deletions
64
README.md
Normal file
64
README.md
Normal 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 l’interface 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 d’accè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'
|
||||||
|
```
|
||||||
|
|
||||||
|
L’application 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 l’image.
|
||||||
|
|
||||||
|
## 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`.
|
||||||
Loading…
Reference in a new issue