Skip to content
βœ¨β˜οΈπŸ“βœ¨ Cloud Commander file manager for the web with console and editor.
JavaScript CSS HTML Dockerfile
Branch: master
Clone or download
coderaiser
Latest commit 2215cac Nov 8, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore(workflow) add Aug 14, 2019
.webpack chore(cloudcmd) lint Sep 28, 2019
bin feature(cloudcmd) remove --progress option, make always enabled Sep 21, 2019
client chore(cloudcmd) lint Nov 4, 2019
common feature(client) remove legacy suffix, use modules as is Aug 27, 2019
css feature(user-menu) hide scroll when small amount of items May 24, 2019
font feature(user-menu) add (#221) May 13, 2019
html feature(cloudcmd) only user menu on f2 Aug 14, 2019
img feature(img) add file-link, directory-link Oct 11, 2018
json feature(cloudcmd) remove --progress option, make always enabled Sep 21, 2019
man feature(cloudcmd) remove --progress option, make always enabled Sep 21, 2019
server feature(package) open v7.0.0 Oct 16, 2019
static feature(user-menu) add ability to ignore private methods May 28, 2019
test chore(cloudcmd) lint Nov 4, 2019
tmpl feature(cloudcmd) remove --progress option, make always enabled Sep 21, 2019
.babelrc feature(cloudcmd) decrease bundle size: disable convertion to es5 Aug 27, 2019
.browserslistrc feature(cloudcmd) decrease bundle size: disable convertion to es5 Aug 27, 2019
.cloudcmd.menu.js feature(user-menu) add (#221) May 13, 2019
.dockerignore feature(cloudcmd) rm jquery Sep 19, 2018
.editorconfig feature(editorconfig) exclude hbs from insert_final_newline Feb 20, 2016
.eslintrc.js chore(cloudcmd) lint Aug 5, 2019
.gitignore feature(cloudcmd) rm jquery Sep 19, 2018
.madrun.js chore(cloudcmd) lint Nov 4, 2019
.npmignore chore(npmignore) rm madrun Nov 8, 2019
.putout.json chore(cloudcmd) lint Sep 28, 2019
.stylelintrc.yml chore(stylelint) max-empty-lines Sep 27, 2018
.travis.yml chore(travis) node v13 Oct 23, 2019
.yaspellerrc feature(user-menu) add (#221) May 13, 2019
CODE_OF_CONDUCT.md docs(code-of-conduct) add Dec 22, 2017
CONTRIBUTING.md docs(contributing) rm Branch Mar 13, 2015
ChangeLog chore(package) v14.1.2 Oct 16, 2019
Dockerfile fix(Dockerfile) WORKDIR (#182) Nov 22, 2018
Dockerfile.alpine fix(Dockerfile) WORKDIR (#182) Nov 22, 2018
HELP.md docs(readme) unhide -> keep Oct 27, 2019
LICENSE docs(license) 2019 Dec 20, 2018
README.md chore(package) v14.1.2 Oct 16, 2019
app.json fix(heroku) app: add "}" (#236) Apr 15, 2019
cssnano.config.js chore(cloudcmd) add dangle-comma Feb 1, 2019
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
package.json feature(package) eslint-plugin-putout v3.0.0 Nov 6, 2019
webpack.config.js feature(webpack) deepmerge -> webpack-merge Apr 11, 2018

README.md

Cloud Commander v14.1.2 Build Status Codacy Gitter FOSSA Status

Main Blog Live(Heroku)

Cloud Commander a file manager for the web with console and editor.

Cloud Commander

Install

npm i cloudcmd -g

Start

For starting just type in console:

cloudcmd

How to use?

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

View

You will see something similar to this. View

Deploy

Cloud Commander could be easily deployed to Heroku.

Deploy

Using as Middleware

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

Init package.json:

npm init -y

Install dependencies:

npm i cloudcmd express socket.io -S

And create index.js:

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

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

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

const config = {
    name: 'cloudcmd :)',
};

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

// override option from json/modules.json
const modules = {
    filePicker,
};

const {
    createConfigManager,
    configPath,
} = cloudcmd;

const configManager = createConfigManager({
    configPath,
}),

app.use(prefix, cloudcmd({
    socket,  // used by Config, Edit (optional) and Console (required)
    config,  // config data (optional)
    modules, // optional
    configManager, // optional
}));

server.listen(port);

Docker

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

docker run -t --rm -v ~:/root -v /:/mnt/fs -w=/root -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'
services:
  web:
    ports:
      - 8000:8000
    volumes:
      - ~:/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:

License

MIT

You can’t perform that action at this time.