# Versio.io Managed installation

> [!NOTE]
>
> If you operate a Versio.io Managed instance, it is always a good idea to document all customer-specific aspects in an IT operating manual. To make it easier for you to create the IT operating manual, we provide you with a corresponding template.
>
> Go to [Template Versio.io operation handbook](<https://docs.versio.io/template-operation-manual/index.md>)

## Check system requirements

Before starting any installation, please run our system requirements check script to ensure that all requirements are met!

```bash
# Variant 1: Before you install Versio.io Managed
wget https://raw.githubusercontent.com/versio-io/check-versio.io-system-requirements/main/check-versio.io-system-requirements.sh

# Variant 2: The script is available after the Versio.io Managed installation
cd /opt/versio.io/install/utils

# Execute the system requirements check
sudo bash ./check-versio.io-system-requirements.sh
```

*Command line: Download and execute the system requirements check before Versio.io Managed installation*

## Download &amp; installation

Your Versio.io contact will provide you with a link to download the Versio.io Managed core installer. The installer can be downloaded and executed with the following commands. After the installation, you will find the Versio.io application files in `/opt/versio.io` and the Versio.io data files in `/home/versio.io`.

```bash
# Download the Versio.io Managed installer
# Obtain the complete link from your Versio.io contact. 
wget -nv -N --no-check-certificate https://<my-link>/install-versio.io-managed.sh 

# If you have installed both Docker and Podman, please set VERSIO_CONTAINER_PLATTFORM={docker|podman} to prevent start-up errors.
VERSIO_CONTAINER_PLATTFORM=docker

# Execute the installation as 'root' user
sudo ./install-versio.io-managed.sh
```

*Command: Download and install the Versio.io Managed core*

> [!WARNING]
>
> **Attention**
>
> When installing the Versio.io platform, a user and a group called `versio` are created. **All further operational activities will be carried out under the user `versio`!**
>
> ```text
> su - versio
> ```
>
> *Command: Switch to the Versio.io platform user*

Before starting or updating the Versio.io Managed instance for the first time, you must log in to the Versio.io Docker image registry once.

```sh
# Log in to the Versio.io container image repository
# You will receive the required credentials from your Versio.io contact
docker login registry.versio.io 
```

*Command: Log in to the Versio.io Docker registry*

With the `update.sh` script, you can initialize the database, download the Versio.io platform images, start up the Versio.io Managed platform and import the Versio.io Artificial Intelligence Content Repository:

```bash
# Update the container images and initialize the database schema
bash /opt/versio.io/install/update.sh
```

*Command: Initialize and update the Versio.io platform*

## Initial setup

After successful installation and first startup, we recommend that you perform the following activities as soon as possible:

1. Log in with the default user and password. You will receive the username and password from your Versio.io contact person.
2. Create a new server admin user:

   - Open the server environment `✪ Platform administration`
   - Create a new user `Access management - User` with the user group right `Server administration`
3. Deactivate the default admin user:

   - Open the server environment `✪ Platform administration`
   - Remove the default user `Access management - User`
   - Go to `Server settings -> Users`
   - Change the password of the default user
4. Create a new environment (see `Server settings - Environment settings`)
5. Invite new users to the new environment (see `Environment settings - User & rights`)
6. Define to which Versio.io environment the events of the Versio.io server platform should be added:

   - Open the server environment `✪ Platform administration`
   - Go to `Access management - General`
   - Enter the ID of the environment in the `Environment for server events` field.
7. Configure the SMTP server for e-mail notifications (necessary for the initial password set/reset!)
8. Install a OneImporter (see `Environment settings - OneImporter - Install`)
9. Configure a OneImporter configuration (see `Environment settings - OneImporter - Configurations`)
