# LCC CLI

## About

The LCC CLI is a tool designed to provide administrators with efficient management capabilities for the Lunar Control Center system. It provides a unified command line interface for deployment, update, and backup services.

LCC CLI runs on the machine hosting the LCC instance. Follow the [installation guide](https://lcc.lunaromp.tech/deployment/installation) to get started.&#x20;

Once LCC CLI is installed, you can start using it through your terminal.

In order to use LCC CLI functions, you first need to activate a custom Python environment environment:

```
source /usr/local/lib/lcc/bin/activate
```

The environment gets deactivated automatically after the LCC-CLI is no longer in use.&#x20;

## LCC-CLI: List of available commands

***

### Help command

Get a list of all available commands

```
lcc-cli --help
```

***

### Version command

Print Lunar Control Center and third-party services software version information.

```
lcc-cli version
```

***

### Service status command

Get the current state of Lunar Control Center docker service.

```
lcc-cli status --service proxy_proxy
```

***

### Service install command

This command provides the capability to install additional services integrated with Lunar Control Center.

```
lcc-cli install [OPTIONS]
```

<table><thead><tr><th width="279">Name</th><th>Description</th></tr></thead><tbody><tr><td>--service [openfire | kamailio | portainer | grafana | zabbix | wazuh | homer | ntp | dnscrypt]</td><td>Choose a service to install. [default: None] [required]</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### Service uninstall command

This command provides the capability to uninstall additional services integrated with Lunar Control Center.

```
lcc-cli uninstall [OPTIONS]
```

<table><thead><tr><th width="279">Name</th><th>Description</th></tr></thead><tbody><tr><td>--service [openfire | kamailio | portainer | grafana | zabbix | wazuh | homer | ntp | dnscrypt]</td><td>Choose a service to uninstall. [default: None] [required]</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

### Init command

Install a clean LCC instance

```
lcc-cli init [OPTIONS]
```

Options:

<table><thead><tr><th width="279">Name</th><th>Description</th></tr></thead><tbody><tr><td>--lcc-domain-name</td><td>Selection of domain for the LCC instance. [required]</td></tr><tr><td>--lcc-admin-username</td><td>Selection of admin username. Has to be in email format. [required]</td></tr><tr><td>--lcc-admin-password</td><td>Selection of admin password. Has to be in passphrase format. [required]</td></tr><tr><td>--lcc-registry-subscription-key</td><td>LCC Registry Subscription Key [default: None] [required]</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### Docker cleanup command

Cleanup LCC Instance dangling images, logs, unused containers, networks, anonymous volumes

<pre><code><strong>lcc-cli cleanup [OPTIONS]
</strong></code></pre>

Options:

<table><thead><tr><th width="279">Name</th><th>Description</th></tr></thead><tbody><tr><td>--force</td><td>Forces a deep cleaning procedure [default: no-force] </td></tr><tr><td>--no-force</td><td>Initiates a deep cleaning procedure [default: no-force] </td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### Flush command

Flush an instance from a previous LCC installation.

```
lcc-cli flush [OPTIONS]
```

<table><thead><tr><th width="279">Name</th><th>Description</th></tr></thead><tbody><tr><td>--force</td><td>Forces a flush of instance from previous LCC installation [default: no-force]</td></tr><tr><td>--no-force</td><td>Flush an instance from previous LCC installation [default: no-force]</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### SSL management command

This command offers functionality to generate self-signed keys, request LetsEncrypt certificates using the HTTP challenge, renew existing certificates, and check the status of the current certificates.

```
lcc-cli ssl [OPTIONS]
```

<table><thead><tr><th width="372">Name</th><th>Description</th></tr></thead><tbody><tr><td>--action [request | renew  | status | generate]</td><td>Generate,request or renew your LCC Let'sEncrypt certificates. [default: None] [required]</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### Password change command

The "change password" feature provides admins with the ability to update their existing passwords easily and securely.

```
lcc-cli password [username] [OPTIONS]
```

<table><thead><tr><th width="372">Name</th><th>Description</th></tr></thead><tbody><tr><td>--password</td><td>Enter your new password. [default: None] [required]. The entered password should be between apostrophes (e.g. 'password')</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### Backup

The command allows the local backup of the Lunar Control Center instance, including users, policies, logs, software versions, and additional services configurations.

```
lcc-cli backup [OPTIONS] /tmp/

```

<table><thead><tr><th width="163">Name</th><th>Description</th></tr></thead><tbody><tr><td>--path</td><td>Chooses a path where the backup file will be saved. Path should be writable.</td></tr><tr><td>--help</td><td></td></tr></tbody></table>

***

### Restore

The command allows the restoration of a Lunar Control Center from a backed-up file.

```
lcc-cli restore [OPTIONS] /tmp/[file name]

```

<table><thead><tr><th width="163">Name</th><th>Description</th></tr></thead><tbody><tr><td>--file</td><td>Selects a path and file for the restoration process. File should exist and the directory with the file should be writable</td></tr><tr><td>--help</td><td></td></tr></tbody></table>
