--- title: Cloud Commander created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-management, nodejs, double-panel, midnight-commander, console, vintage] confidence: high contested: false sources: [https://selfh.st/apps/?tag=File+Management, https://github.com/coderaiser/cloudcmd] --- # Cloud Commander đŸȘ– > Web file manager **double panneau** en Node.js qui rappelle **Midnight Commander** : deux colonnes synchronisĂ©es, navigation clavier, console intĂ©grĂ©e, Ă©diteur de texte. L'outil idĂ©al pour les anciens de la console qui veulent un file manager web ergonomique. | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://cloudcmd.io | | **GitHub** | https://github.com/coderaiser/cloudcmd | | **License** | MIT | | **Langage** | JavaScript (Node.js) | | **Étoiles** | 264 ⭐ | | **DerniĂšre MAJ** | 2026-04 | | **CatĂ©gorie** | [[cat-file-management]] | ## Description Cloud Commander (anciennement **Cloud Commander**, parfois appelĂ© simplement **cloudcmd**) est un vĂ©tĂ©ran des file managers web : le projet existe depuis 2012 et reste activement maintenu. Son parti pris est radical : **imiter Midnight Commander** (mc) en mode web, avec ses deux panneaux cĂŽte Ă  cĂŽte, ses raccourcis clavier, et son efficacitĂ© lĂ©gendaire. L'UI est volontairement **sobre et fonctionnelle** : pas de Material Design tape-Ă -l'Ɠil, juste deux colonnes, un menu, et des raccourcis. Pour qui aime **Vim**, **Emacs** ou **mc**, c'est un bonheur. Pour qui prĂ©fĂšre une UI moderne type [[app-filestash]], ça semblera datĂ© (avis subjectif). FonctionnalitĂ©s clĂ©s : - **Double panneau** synchronisĂ© (chemin miroir ou indĂ©pendant) - **Console intĂ©grĂ©e** : un shell bash/sh dans le navigateur, **redoutable d'efficacitĂ©** (mais danger) - **Éditeur intĂ©grĂ©** : Dwordl ou Ace Editor, coloration syntaxique - **Navigation clavier** : F1-F10, Tab, Ctrl+R, etc. (comme mc) - **Drag&drop** entre les deux panneaux - **Upload/download** par drag&drop - **Compression/dĂ©compression** Ă  la volĂ©e (.zip, .tar.gz) - **Auth basique** : login/password (pas de multi-user natif) - **Packaging** : peut tourner en single process Node ou en module L'auteur **coderaiser** (Ivan Kotenkov) maintient aussi **MultyFS**, **Editdor**, **Flyoner** et d'autres outils CLI/web. Le projet est stable, mature, et dispose d'un Ă©cosystĂšme de plugins. C'est le file manager parfait pour un **homelab** ou un serveur Linux, accessible depuis n'importe quel navigateur, sans dĂ©pendre d'un client lourd. Pas idĂ©al pour exposer Ă  des non-techs (l'UX est spartiate). ## Installation ### Option 1 : Docker Compose (recommandĂ©) ```yaml services: cloudcmd: image: coderaiser/cloudcmd:latest container_name: cloudcmd restart: unless-stopped ports: - "8000:8000" volumes: - /srv/data:/mnt # rĂ©pertoire Ă  exposer - ./config:/config # configuration JSON environment: - PASSWORD=*** - CONSOLE=true # console intĂ©grĂ©e activĂ©e ``` UI sur `http://localhost:8000`. Identifiants par dĂ©faut : `admin` / vide si pas de PASSWORD (mettre en place rapidement !). ### Option 2 : npm global ```bash npm install -g cloudcmd cloudcmd --root /srv/data --port 8000 --password *** # AccĂšs : http://localhost:8000 ``` ### Option 3 : Module dans une app Node ```bash npm install cloudcmd ``` ```javascript const cloudcmd = require('cloudcmd'); cloudcmd({ root: '/srv/data', port: 8000, password: '***' }); ``` ## Configuration - **Premier accĂšs** : si `PASSWORD` est dĂ©fini, l'auth est demandĂ©e. Sinon, l'app est ouverte Ă  tous (⚠ dangereux). - **Fichiers de config** : `config.json` pour config globale, `config/modules.json` pour les modules activĂ©s. - **Console** : `CONSOLE=true` active le shell intĂ©grĂ©. À **dĂ©sactiver** en exposition publique. - **Auth** : basique HTTP (login/password). Brancher en amont [[app-authelia]] pour du SSO. - **Packaging** : Cloud Commander peut ĂȘtre "embarquĂ©" dans une autre app Node, pratique pour des intĂ©grations custom. - **Reverse proxy** : derriĂšre [[app-caddy]] / [[app-traefik]] avec HTTPS. WebSocket peut ĂȘtre requis pour certaines features. ## Alternatives ### Open Source - [[app-file-browser]] — Go, plus moderne, mono-utilisateur - [[app-filebrowser-quantum]] — File Browser avec Ă©diteur - [[app-filestash]] — UI moderne multi-protocoles - [[app-filegator]] — PHP multi-user - **JupyterLab** — Pas vraiment file manager, mais UI double-panel - **Filerun** — UX riche PHP - **Eternal Terminal** — Pas un file manager mais mĂȘme philosophie CLI/web - [[app-code-server]] — VS Code complet ### PropriĂ©taires - Midnight Commander (natif, pas web) - WinSCP (client, pas serveur) - FileZilla (client) - Cyberduck - Forklift (Mac) ## SĂ©curitĂ© - **⚠ Console intĂ©grĂ©e = DANGER** : avec `CONSOLE=true`, un utilisateur authentifiĂ© a un **shell root** sur le serveur. À **dĂ©sactiver impĂ©rativement** en exposition publique (`CONSOLE=false`). - **Auth obligatoire** : toujours dĂ©finir `PASSWORD` ou un fichier `.htpasswd` via reverse proxy. - **HTTPS** : obligatoire ([[app-caddy]] / [[app-traefik]]). - **Rate limiting** : Cloud Commander n'a pas de rate limit natif, le mettre sur le reverse proxy. - **Brute force** : la page de login est exposĂ©e. Utiliser fail2ban ou un WAF ([[app-authelia]] avec rate limit). - **Scope limitĂ©** : ne JAMAIS donner accĂšs Ă  `/`. Cloud Commander peut naviguer au-dessus du `--root` (c'est un bug historique), d'oĂč l'importance de jailer avec un chroot ou un bind mount strict. - **Backups** : `cloudcmd.json` + le volume exposĂ©. - **Updates** : suivre npm advisories. ## Ressources - [Site officiel](https://cloudcmd.io) - [Documentation](https://cloudcmd.io/documentation) - [GitHub](https://github.com/coderaiser/cloudcmd) - [Demo](https://cloudcmd.io/demo) - [selfh.st/apps/?tag=File+Management](https://selfh.st/apps/?tag=File+Management) ## Pages LiĂ©es - [[cat-file-management]] — CatĂ©gorie parente - [[app-file-browser]] — Concurrent plus moderne - [[app-filestash]] — Concurrent UI moderne - [[app-code-server]] — VS Code complet (pas file manager) - [[app-caddy]] / [[app-traefik]] — Reverse proxy - [[app-authelia]] — SSO recommandĂ© - [[recettes-docker-compose]] — Templates Docker - [[securisation-home-lab]] — Bonnes pratiques