No description
Find a file
2026-03-29 13:39:54 +03:00
.github chore: actions: lint 2026-03-23 19:19:04 +02:00
.webpack feature: cloudcmd: add ability to show modification time (#230) 2026-03-20 17:54:58 +02:00
bin feature: cloudcmd: bin: get rid of require 2026-03-29 12:58:45 +03:00
client feature: cloudcmd: vim: ESC: use only to enable, do not use to disable 2026-03-28 22:40:46 +02:00
common fix: cloudcmd: no time available: --.--.---- -> --:--:-- (#461) 2026-03-23 15:46:00 +02:00
css fix: columns: name-size-date-time: 20% -> 19% 2026-03-26 13:16:40 +02:00
docker fix: docker: io: xterm-256color 2026-03-29 13:39:54 +03:00
font feature: cloudcmd: add context menu option to toggle file selection (#420) 2024-10-27 12:05:42 +02:00
html feature: cloudcmd: aleman v1.14.3 2025-09-20 13:13:42 +03:00
img feature: cloudcmd: Add support for Progressive Web App (#426) 2024-11-13 22:11:13 +01:00
json feature: cloudcmd: add ability to hide port configuration 2026-03-23 23:03:47 +02:00
man feature: cloudcmd: add ability to hide port configuration 2026-03-23 23:03:47 +02:00
public fix: cloudcmd: make manifest.json accessible when authentication is enabled (#428) 2024-11-22 11:14:34 +01:00
rules feature: cloudcmd: migrate to ESM 2026-02-03 15:03:49 +02:00
server feature: cloudcmd: get rid of simport 2026-03-29 12:29:39 +03:00
static chore: lint 2026-03-17 20:43:43 +02:00
test fix: cloudcmd: no time available: --.--.---- -> --:--:-- (#461) 2026-03-23 15:46:00 +02:00
tmpl feature: cloudcmd: add ability to hide port configuration 2026-03-23 23:03:47 +02:00
.babelrc.json chore: proposal -> transform 2023-12-12 16:09:30 +02:00
.browserslistrc
.cloudcmd.menu.js feature: cloudcmd: migrate to ESM 2026-02-03 15:03:49 +02:00
.dockerignore
.editorconfig feature: server: route: get rid of mock-require 2024-03-21 09:57:49 +02:00
.gitignore chore: cloudcmd: actions: lint ☘️ 2026-02-15 20:25:32 +00:00
.madrun.js chore: cloudcmd: actions: lint ☘️ 2026-03-17 18:45:13 +00:00
.npmignore chore: cloudcmd: actions: lint ☘️ 2026-02-15 20:25:32 +00:00
.nvmrc chore: npmvrc: add 2024-07-19 18:15:40 +03:00
.nycrc.json chore: lint 2026-02-18 14:15:22 +02:00
.putout.json feature: common: object.omit -> omit 2026-02-21 17:33:20 +02:00
.typos.toml feature: client: dom: load-remote: migrate to ESM 2026-01-29 18:46:43 +02:00
.yaspellerrc
app.json
ChangeLog chore: cloudcmd: v19.9.12 2026-03-29 12:58:45 +03:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Update CONTRIBUTING.md 2024-06-13 09:11:36 +03:00
deno.json feature: deno config: add 2025-12-24 16:47:48 +02:00
docker-compose.yml
eslint.config.js chore: lint 2026-02-03 15:53:21 +02:00
favicon.ico
HELP.md chore: cloudcmd: v19.9.12 2026-03-29 12:58:45 +03:00
LICENSE docs: license: 2025 2025-01-01 10:03:15 +01:00
manifest.yml
package.json chore: cloudcmd: v19.9.12 2026-03-29 12:58:45 +03:00
README.md chore: cloudcmd: v19.9.12 2026-03-29 12:58:45 +03:00
robots.txt feature: robots.txt: add 2025-09-03 11:55:13 +03:00
webpack.config.js feature: cloudcmd: migrate to ESM 2026-02-03 15:03:49 +02:00

Cloud Commander v19.9.12 Build Status Codacy Gitter

Main Blog Support Demo

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 'node: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
arm64 (arm/v8) linux
amd64 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