JavaScript CSS HTML
Clone or download
Failed to load latest commit information.
.github docs(issue) add command line, config Apr 18, 2017
.webpack chore(webpack) rm comment Jun 8, 2018
bin feature(cloudcmd) --one-panel-mode -> --one-file-panel May 25, 2018
client feature(upload-files) add ability to show error message Jun 19, 2018
common fix(cloudcmd) cyrillic symbols in names May 1, 2018
css fix(style) .fm: scrolling on ios Jun 13, 2018
font fix(font) copy path May 29, 2018
html fix(index) zoom on tap Jun 4, 2018
img chore(package) v10.0.2 May 29, 2018
json feature(edit-names-vim) add Jun 7, 2018
man feature(cloudcmd) --one-panel-mode -> --one-file-panel May 25, 2018
modules feature(package) add domtokenlist-shim from npm Jun 11, 2018
server fix(sw) register when prefix changed Jun 19, 2018
test test(rest) coverage Jun 15, 2018
tmpl chore(tmpl) rm htmlDialogs May 25, 2018
.appveyor.yml feature(appveyor) add terminal Aug 16, 2017
.babelrc feature(package) babel v7 Jun 1, 2018
.bowerrc feature(bower) add modules Jan 5, 2015
.dockerignore chore(gitignore) add yarn.lock May 14, 2018
.editorconfig feature(editorconfig) exclude hbs from insert_final_newline Feb 20, 2016
.eslintrc test(before) add connect Apr 17, 2018
.eslintrc.server chore(eslintrc) server: quotes Apr 20, 2018
.gitignore feature(gitignore) add jquery-mouse-wheel Jun 15, 2018
.npmignore feature(gitignore) add jquery-mouse-wheel Jun 15, 2018
.stylelintrc.yml feature(package) stylelint-config-standard v18.0.0 Nov 27, 2017
.travis.yml chore(travis) rm node v9 May 11, 2018
.yaspellerrc chore(yaspeller) add maintainers, sexualized Jan 16, 2018 docs(code-of-conduct) add Dec 22, 2017 docs(contributing) rm Branch Mar 13, 2015
ChangeLog chore(package) v10.2.2 Jun 15, 2018
Dockerfile chore(Dockerfile) node v10 May 29, 2018
Dockerfile.alpine chore(Dockerfile) node v10 May 29, 2018 chore(package) v10.2.2 Jun 15, 2018
LICENSE docs(license) 2018 Oct 20, 2017 chore(package) v10.2.2 Jun 15, 2018
app.json chore(app) rm duplicate CLOUDCMD_ONE_FILE_PANEL May 25, 2018
bower.json feature(package) add domtokenlist-shim from npm Jun 11, 2018
docker-compose.yml feature(docker-compose) add Mar 9, 2016
favicon.ico feature(favicon) add Mar 2, 2014
manifest.yml chore(manifest) rm trailing spaces Feb 27, 2015
now.json fix(now) files: add .webpack Apr 17, 2018
package.json chore(package) v10.2.2 Jun 15, 2018
webpack.config.js feature(webpack) deepmerge -> webpack-merge Apr 11, 2018

Cloud Commander v10.2.2 License NPM version Dependency Status Build Status Now status Package Quality Codacy Gitter OpenCollective OpenCollective

Main Blog Live(Heroku, Now)

Cloud Commander is an orthodox web file manager with console and editor.

Cloud Commander


npm i cloudcmd -g


For starting just type in console:


How to use?

Open url http://localhost:8000 in browser.


You will see something similar to this. View


Cloud Commander could be easily deployed to Heroku.


Using as Middleware

Cloud Commander could be used as middleware for node.js applications based on and express:

Init package.json:

npm init -y

Install dependencies:

npm i cloudcmd express -S

And create index.js:

const http = require('http');
const cloudcmd = require('cloudcmd');
const io = require('');
const app = require('express')();

const port = 1337;
const prefix = '/cloudcmd';

const server = http.createServer(app);
const socket = io.listen(server, {
    path: `${prefix}/`

const config = {
    prefix // base URL or function which returns base URL (optional)

const plugins = [
    __dirname + '/plugin.js'

const filePicker = {
    data: {
        FilePicker: {
            key: 'key',

// override option from json/modules.json
const modules = {

    socket,  // used by Config, Edit (optional) and Console (required)
    config,  // config data (optional)
    plugins, // optional
    modules, // optional



Cloud Commander could be used as a docker container this way:

docker run -t --rm -v ~:/root -v /:/mnt/fs -p 8000:8000 coderaiser/cloudcmd

Config would be read from home directory, hosts root file system would be mount to /mnt/fs, 8000 port would be exposed to hosts port.

Also you could use docker compose with docker-compose.yml:

version: '2'
      - 8000:8000
      - ~:/root
      - /:/mnt/fs
    image: coderaiser/cloudcmd

When you create this file run:

docker-compose up

Get involved

There is a lot ways to be involved in Cloud Commander development:


Support us with a monthly donation and help us continue our activities. [Become a backer]


Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]