No description
Find a file
2022-03-06 19:45:19 +02:00
.github chore(cloudcmd) lint 2022-02-19 15:38:37 +02:00
.webpack feature(client) view: show markdown without shift 2021-01-17 15:48:34 +02:00
bin fix(cloudcmd) args: snake case -> camelCase: yargs strip dashed 2021-08-09 17:31:44 +03:00
client chore(cloudcmd) lint 2022-02-19 15:38:37 +02:00
common chore(cloudcmd) lint 2022-03-06 19:45:19 +02:00
css fix(css) icons (#368) 2022-01-20 19:49:20 +02:00
docker fix(docker) images: make dockerfiles use node:lts-buster and node:lts-buster-slim for alpine (#363) 2022-01-06 15:23:34 +02:00
font feature(cloudcmd) icons: add archive icon for small screens 2021-03-01 22:58:33 +02:00
html feature(cloudcmd) only user menu on f2 2019-08-14 15:45:11 +03:00
img chore(archive-link) update 2021-03-05 21:01:10 +02:00
json feature(package) socket.io-client v4.0.1 2021-04-05 19:07:47 +03:00
man feature(cloudcmd) remove --progress option, make always enabled 2019-09-21 22:01:15 +03:00
server chore(cloudcmd) lint 2022-03-06 19:45:19 +02:00
static chore(cloudcmd) lint 2021-10-19 15:59:57 +03:00
test chore(cloudcmd) lint 2022-03-06 19:45:19 +02:00
tmpl feature(config) add more descriptive titles 2021-06-27 15:38:35 +03:00
.babelrc.json chore(cloudcmd) lint 2020-12-30 14:41:27 +02:00
.browserslistrc chore(putout) prepare for webpack v5 2020-10-17 18:04:35 +03:00
.cloudcmd.menu.js feature(package) supertape v3.10.0 2020-12-21 15:19:18 +02:00
.dockerignore chore(cloudcmd) lint 2020-12-03 18:27:59 +02:00
.editorconfig feature(editorconfig) exclude hbs from insert_final_newline 2016-02-20 15:44:09 -05:00
.eslintrc.js feature(cloudcmd) improve error handling when viewing or editing a file 2021-01-30 11:19:10 +02:00
.gitignore chore(cloudcmd) lint using actions 2022-01-08 18:47:37 +00:00
.madrun.mjs chore(cloudcmd) lint using actions 2021-11-21 22:49:42 +00:00
.npmignore chore(cloudcmd-hq) add 2021-02-07 15:12:23 +02:00
.nycrc.json chore(cloudcmd) lint 2020-12-28 20:14:10 +02:00
.putout.json chore(cloudcmd) lint 2022-01-20 19:50:10 +02:00
.yaspellerrc chore(cloudcmd) spell 2021-06-08 14:14:55 +03:00
app.json fix(cloudcmd) app, help: remove duplicate keys 2020-11-25 20:54:47 +02:00
ChangeLog chore(package) v16.0.0 2022-02-19 16:29:53 +02:00
CODE_OF_CONDUCT.md test(cloudcmd) skip: connect_error tests 2020-11-16 17:40:32 +02:00
CONTRIBUTING.md test(cloudcmd) skip: connect_error tests 2020-11-16 17:40:32 +02:00
cssnano.config.js chore(cssnano) lint 2021-01-21 20:17:31 +02:00
docker-compose.yml feature(docker-compose) add 2016-03-09 07:58:18 -05:00
favicon.ico feature(favicon) add 2014-03-02 07:05:40 -05:00
HELP.md chore(package) v16.0.0 2022-02-19 16:29:53 +02:00
LICENSE docs(license) 2019 2018-12-20 18:01:50 +02:00
manifest.yml chore(manifest) rm trailing spaces 2015-02-27 09:25:00 -05:00
package.json feature(package) eslint-plugin-putout v14.4.0 2022-03-06 19:45:19 +02:00
README.md chore(package) v16.0.0 2022-02-19 16:29:53 +02:00
webpack.config.js feature(package) webpack-merge v5.0.8 2020-07-08 20:04:13 +03:00

Cloud Commander v16.0.0 Build Status Codacy Gitter

Main Blog

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:

import http from 'http';
import cloudcmd from 'cloudcmd';
import {Server} from 'socket.io';
import express from 'express';

const app = express();

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

const server = http.createServer(app);
const socket = new Server(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

The docker images are provided for multiple architectures and types. The following list shows all existing images:

Architecture Type
amd64 linux
arm/v7 linux
arm64 (arm/v8) linux
amd64 linux-alpine
arm/v7 linux-alpine
arm64 (arm/v8) linux-alpine

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

docker run -it --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

Documentation

More documentation you can find on https://cloudcmd.io/.

Get involved

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

License

MIT