> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cymph.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install Cymph on your own infrastructure with Docker Compose.

Before you start, confirm your host meets the [requirements](/deployment/self-hosted/requirements) and that your TLS certificates are in place.

## Steps

The steps below refer to a command line based installation in an Ubuntu 22.04 machine. The same steps apply for MacOS.

1. Extract the tarball and go to the cymph folder

```text theme={"system"}
$ tar zxvf cymph_onprem.tgz
$ cd cymph/
```

2. Configure the .env file

```text theme={"system"}
$ sudo ./env.sh
```

This step generates the deployment's secrets and writes the `.env` file. It will ask you:

* The e-mail of the on-prem administrator user (default is [admin@domain.com](mailto:admin@domain.com))
* The IP address or domain where the Web application will listen (default `localhost`)
* The port where the Web application will listen (default `443`)
* The location of the TLS certificate (default `/etc/ssl/bundle.crt`) and of its private key (default `/etc/ssl/cert.key`) — both must already exist on the host, see [TLS certificates](/deployment/self-hosted/tls-certificates)
* If SSL mode is required for Postgres (default is no)

<Warning>
  Run `env.sh` **once**. It generates the signing and encryption secrets for the deployment, and re-running it replaces them — which makes existing encrypted data unreadable. See [Backup & restore](/deployment/self-hosted/backup-restore).
</Warning>

3. Run docker compose

```text theme={"system"}
$ sudo docker compose up -d
```

This command will run the containerized services in the background. If you have already composed the solution, then run `sudo docker compose start`

If you see a message like this:

> The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

feel free to ignore it.

Once docker compose is complete, you should see the following on your terminal:

<img src="https://mintcdn.com/cymph/4P8b09N1JPkDEsoT/images/docker_up.png?fit=max&auto=format&n=4P8b09N1JPkDEsoT&q=85&s=02c446a0a26087605414eb014061ac08" alt="Docker Up" width="3456" height="204" data-path="images/docker_up.png" />

The setup procedure also performs certain initialisation steps:

* Creates an on-prem administration account with default credentials
* Populates the instance with playbook contents. The playbooks will belong to the on-prem administration account

4. Open your browser and navigate to the Cymph application
   * The URL should be `https://<ip_address>:<port>` as configured in step 2. If you kept the defaults, the URL is `https://localhost`
5. Enter the default on-prem administration credentials and click on **Log In** button
   * E-mail: the email you provided on step 2 (or [admin@domain.com](mailto:admin@domain.com) if no e-mail was provided)
   * Password: admin

<img src="https://mintcdn.com/cymph/6bvCgSMIvjwbVWJn/images/onprem_first_login.png?fit=max&auto=format&n=6bvCgSMIvjwbVWJn&q=85&s=d73bc4c9f3d71a36b795ce4e7a626f79" alt="Onprem First Login" width="3456" height="1734" data-path="images/onprem_first_login.png" />

6. You will be asked to change your password
   * Enter the current password, which is `admin`
   * Enter your new password that meets the password criteria.
   * Click on **Update** to change the password
   * After changing your password, you will be redirected to the login screen
7. Login with the updated credentials and you are ready!

## Next steps

After you are done with the installation, you will be able to login as an on-prem administrator. From that account you will be able to:

* Upload the license. You can refer to [Licensing](/deployment/self-hosted/licensing) for more details
* Create the first organisation. You can read more at [Organisation management](/administration/organisation_management)
* Configure e-mail, AI, single sign-on and the Playbook Hub from the on-prem settings page — see [SMTP](/deployment/settings/smtp)
* Set up a backup routine before the deployment carries real data — see [Backup & restore](/deployment/self-hosted/backup-restore)

If a service does not come up, see [Common issues](/deployment/self-hosted/troubleshooting).
