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 2 weeks ago
static first commit 2 weeks ago
templates first commit 2 weeks ago
.gitignore first commit 2 weeks ago
.secret_key first commit 2 weeks ago
README.md first commit 2 weeks ago
app.py first commit 2 weeks ago
auth.json first commit 2 weeks ago
requirements.txt first commit 2 weeks ago
set_password.py first commit 2 weeks ago
webui.log first commit 2 weeks 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.