myceleum ships with a CLI tool mcl alongside the desktop application. This tool serves as the workhorse for creating, building, running, and stopping containers. Below is a list of some of the core commands its supports

Commands


Attach

$ mcl attach (a) [OPTIONS]

Description:

Attaches your terminal window to the container, allowing you to interact with the container directly.

Options:

-c, --config-path:
Path to the tkconfig.json location in the .tk folder, this is used to determine the workspace and container to connect to. If -c or -t is not set, your terminal needs to be cd(ed) into a directory whose path contains a myceleum workspace folder (one that contains a .tk).

-t, --tag:
The tag name of the myceleum container you want to connect to.


Run

$ mcl run [OPTIONS]

Description:

This command will run a workspace. This will start the container and mount the project folder into the container. By default we will read from the Workspace configuration to set these values for you, so in most cases mcl run will be sufficient and optionally the –ide and –terminal flags.

Options:

-p, --ports:
Ports to be exposed by the container. These need to be specified in the following format <host-port>:<container-port>. By default, we will also expose the ports that are defined inside the workspace configuration, so if the workspace has been configured, these are not necessary to specify.

# example of specifying multiple ports
$ mcl run -p 1000:1000 -p 1001:2000

--ide:
If this flag is included and an IDE has been selected in the workspace configuration, the IDE will open on the project folder.

--terminal:
If this flag is included a terminal will be opened and will attach to the container.

-c, --config-path:
Path to the tkconfig.json location in the .tk folder, this is used to determine the workspace and container to connect to. If -c is not set, your shell needs to be cd(ed) into a directory whose path contains a myceleum workspace folder (one that contains a .tk).


Stop

$ mcl stop [OPTIONS]

Description:

Stops a running myceleum workspace.

Options:

-c, --config-path:
Path to the tkconfig.json location in .tk folder, this is used to determine the workspace and container to connect to. If -c or -t is not set, your shell needs to be cd(ed) into a directory whose path contains a myceleum workspace folder (one that contains a .tk).

-t, --tag:
Target a container using its tag name.

-k, --kill:
Sends a kill signal to the container. This is usually quicker than the default ‘stop’ command, but also a little more dangerous.


Daemon Run

$ mcl daemon run [COMMAND(S)]

Description:

Sends command(s) to the container. This will run the command(s) (one after the other if more than one is specified) on the container. These commands can be defined inside the Command section of the workspace configuration in the desktop app. If no commands are specified the start command will be sent to the container (ie: mcl daemon run and mcl daemon run start are equivalent).

Options:

-c, --config-path:
Path to the tkconfig.json location in the .tk folder, this is used to determine the workspace and container to connect to. If -c is not set, your shell needs to be cd(ed) into a directory whose path contains a myceleum workspace folder (one that contains a .tk).


Daemon Rebuild

$ mcl daemon rebuild

Description:

Sends the rebuild command to the container. This will run the stop and start command on the workspace container, these commands are defined inside the Command section of the workspace configuration in the desktop app.

Options:

-c, --config-path:
Path to the tkconfig.json location in the .tk folder, this is used to determine the workspace and container to connect to. If -c is not set, your shell needs to be cd(ed) into a directory whose path contains a myceleum workspace folder (one that contains a .tk).


Daemon Stop

$ mcl daemon stop

Description:

Sends the stop command to the container. This will run the stop command on the workspace container and stop the command that was ran with start.

Options:

-c, --config-path:
Path to the tkconfig.json location in the .tk folder, this is used to determine the workspace and container to connect to. If not specified, you must be inside a workspace project folder (or subfolder) –one that contains a .tk folder–.


Other Commands

There are some other commands not included in this list since the desktop application handles the calls to most of these, but feel free to look at our documentation to get more details. You can also get basic information for these by running

$ mcl --help