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