You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Bertrand Janvoie 7d938b4526 first commit 1 month ago
static first commit 1 month ago
templates first commit 1 month ago
.gitignore first commit 1 month ago
.secret_key first commit 1 month ago
README.md first commit 1 month ago
app.py first commit 1 month ago
auth.json first commit 1 month ago
requirements.txt first commit 1 month ago
set_password.py first commit 1 month ago
webui.log first commit 1 month ago

README.md

docker-web-ui

Interface web locale pour démarrer / arrêter / redémarrer des conteneurs Docker (pratique pour des serveurs de jeu locaux).

Prérequis

  • Docker installé et le démon en cours d'exécution
  • Soit exécuter l'app avec un utilisateur dans le groupe docker, soit lancer avec sudo pour avoir accès au socket Docker

Installation

cd /home/wsl/docker-web-ui
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Lancement

# lancer le serveur Flask (local)
python app.py

Tester l'interface sans Docker (mock)

La nouvelle interface détecte si l'API Docker n'est pas disponible et peut fonctionner en mode mock pour la démo. Active le mode mock en cliquant sur le bouton "Mode mock" en haut à droite.

Ouvrez http://localhost:5000 dans votre navigateur.

Sécurité

  • Cette interface n'a aucune authentification/autorisation. NE PAS l'exposer sur Internet.
  • Usage prévu : réseau local de confiance ou machine locale.

Authentification (mot de passe)

La version actuelle peut être configurée pour exiger un mot de passe. Deux options :

  • Créer un hash de mot de passe persistant (recommandé) :
cd /home/wsl/docker-web-ui
python set_password.py
# entrez et confirmez le mot de passe — ceci crée auth.json
  • Ou définir la variable d'environnement ADMIN_PASSWORD avant de lancer l'app (moins sûr) :
export ADMIN_PASSWORD='votre_mot_de_passe'
python app.py

Le hash peut aussi être fourni directement via ADMIN_PASSWORD_HASH.

Remarques de sécurité

  • Le serveur utilise des sessions signées par FLASK_SECRET_KEY (généré et persisté automatiquement dans .secret_key si absent). Pour plus de sécurité, définissez FLASK_SECRET_KEY dans l'environnement.
  • Pour une sécurité réelle, exécutez derrière un reverse-proxy TLS (HTTPS) et n'exposez pas l'interface sur Internet.