# Current CLI

A new version of the CLI was released on 21. december 2023.  
If you are looking for the old CLI you can find the documentation [here](https://docs.tsnocode.com/books/command-line-tools/page/legacy-cli "Legacy command line tools").

## <span class="mw-headline" id="bkmrk-compatibility-1">Compatibility</span>

The tools are compatible with the following distributions.

- Amazon Linux, version 1, 2 and 2023
- Debian, version 10, 11 and 12
- Armbian, version 10, 11, and 12
- Ubuntu, version 20.04, 22.04 and 24.04
- CentOS, version 8 and 9

The script will check to see if it is running on one of these OSes and stop executing if not.

### <span class="mw-headline" id="bkmrk-running-on-centos-9-1">Running on CentOS 9</span>

You should run this command first.

```bash
dnf install -y wget nano
```

## <span class="mw-headline" id="bkmrk-usage-information-1">Usage information</span>

The Tempus Serva Linux script tools are open source (LGPL), and you are free to use and modify them however you see fit. The tools are defined by one python3 script and a single json file that stores the config.

As the tools themselves are subject to semiautomatic upgrades, we strongly recommend that you keep backups of files you have modified. Future versions of the scripts are not guaranteed to be compatible, with earlier versions or your own modifications.

## <span class="mw-headline" id="bkmrk-installing-the-tool-1">Installing the tool</span>

To install the tools, run:

```bash
wget -qO - https://builds.tsnocode.com/helpers/install | bash
```

This will check compatibility and install the required plugins.

To use the tool, execute `ts`.

On first execution the tool will ask a couple of questions.

Currently the beta release is not implemented for java 11.

## Basic usage

The basic way to use this tool to get an instance running is this:

1. Run the command `ts install`
    1. Accept Java 11
    2. Accept Tomcay 9
    3. Accept alternative user (if prompted)
    4. Set timezone
    5. Accept symlink creation
    6. Choose to install reverse proxy
    7. Choose not to proxy a domain
    8. Optional: Grant TS developers access to ssh into the server
    9. Optional: Install a server banner (shown on login via ssh, recommended)
2. Run the command `ts install-alphaapp`
    1. Optional: Give the app a name (will be shown in the url and is limited to a-Z, 0-9 and -\_)
    2. Optional: Set a new password for the admin user
3. Run the command `ts proxy`
    1. Input the domain(s)
    2. Choose to proxy everything with one domain
    3. Optional: Choose to install ssl 
        1. Input the domain(s)
        2. Optional: overwrite the info-email

## <span class="mw-headline" id="bkmrk-tool-reference-1">Tool reference</span>

To get the full list of commands, and a description, run `ts --help`.

### <span class="mw-headline" id="bkmrk-quick-install-1">quick-install</span>

Installs all the required software to run TS NoCode Platform, a default webapp named 'app' and a redirect from root to 'app'.

It will not ask for anything, but uses default values.

### <span class="mw-headline" id="bkmrk-install-1">install</span>

Installs all the required software to run TS NoCode Platform.

It will ask questions about optional stuff.

### <span class="mw-headline" id="bkmrk-install-app-1">install-app</span>

Will install a new TS NoCode Platform webapp. It ask what release to install from and what name the webapp should be deployed under, if that webapp exists it will ask if you would like to upgrade that installation instead.

### <span class="mw-headline" id="bkmrk-upgrade-app-1">upgrade-app</span>

Will upgrade an existing TS NoCode Platform webapp. It will ask what release to upgrade from and what name the webapp should be deployed under, if that webapp doesn't exist it will do nothing.

### <span class="mw-headline" id="bkmrk-set-admin-password-1">set-admin-password</span>

Will set the admin password for an existing TS NoCode Platform webapp. Will ask what webapp to modify and what the password should be set to.

### <span class="mw-headline" id="bkmrk-install-ssl-1">install-ssl</span>

Will install all dependencies that are needed to setup a LetsEncrypt SSL certificate. Will ask if SSL should be setup once the install completes.

### <span class="mw-headline" id="bkmrk-setup-ssl-1">setup-ssl</span>

Will ask about domain(s) and contact-email, request and install an SSL certificate and setup auto-renewal.

### make-luks

Will help setup LUKS encryption on a secondary drive.  
Must be run before the install-command!

## <span class="mw-headline" id="bkmrk-quick-install-3">Quick install</span>

To quick-install the tool and a webapp run this

```bash
wget -qO - https://builds.tsnocode.com/helpers/install | bash && ts quick-install
```

If you also want to setup SSL, run this

```bash
wget -qO - https://builds.tsnocode.com/helpers/install | bash && ts quick-install && ts install-ssl
```

## <span class="mw-headline" id="bkmrk-removing-the-tools-1">Removing the tools</span>

Remove the two files, eg by running:

```bash
sudo rm /usr/bin/{ts,tsconfig.json}
```