Installation Docker
Lancer l'image GHCR avec le Compose du dépôt, sur le port hôte 2501.
Le fichier docker-compose.yml du dépôt tire l'image publiée. C'est le chemin homelab par défaut.
git clone https://github.com/lucas-lepajollec/SwissKnife.git
cd SwissKnife
docker compose up -dSwissKnife répond sur http://localhost:2501. Le service s'appelle swissknife, le conteneur swissknife, l'image ghcr.io/lucas-lepajollec/swissknife:latest.
Le mapping observé est 2501:8080 : l'hôte expose 2501, Nginx écoute 8080 dans le conteneur.
Comportement du conteneur
Le Dockerfile observé impose :
- build Node 20 Alpine, puis Nginx unprivileged 1.27 Alpine ;
- utilisateur
nginx(non root) à l'exécution ; - healthcheck
wgetsurhttp://127.0.0.1:8080/à l'intérieur du conteneur ; - en-têtes de sécurité dans
nginx.conf, dont COOP/COEP pour FFmpeg WASM.
Le Compose homelab n'ajoute pas de volume, ni de système de fichiers en lecture seule.
Construire depuis les sources
Pour valider le checkout courant plutôt que l'image publiée :
docker compose -f docker-compose.build.yml up -d --buildMême port hôte 2501, même healthcheck. Détails des tags : Image GHCR.
Utiliser un autre port hôte
Le côté droit reste 8080. Modifiez uniquement la valeur gauche :
services:
swissknife:
ports:
- "8088:8080"Contrôler le démarrage
docker compose ps
docker compose logs --tail 100 swissknifeLe conteneur doit devenir healthy. Si le port 2501 est déjà pris, changez le mapping hôte puis relancez.
Arrêter
docker compose stopPour retirer le conteneur :
docker compose downAucune donnée applicative n'est perdue : SwissKnife n'en persiste pas. Voir Désinstallation.