Skip to main content
This guide describes the installation of VARIOS AI on your own Linux server. VARIOS AI runs as a Docker Compose installation; you receive the installation files docker-compose.yml, .env, varios.sh and update_version from the VARIOS AI team. Check the system requirements beforehand.
Allow half a working day for the technical installation. Most of the time goes into coordination with the DNS, firewall and identity teams, so plan this in advance.

Installation

1

Prepare the server

Install the current updates of your distribution, enable time synchronization and set up the firewall according to the system requirements. A correct clock is mandatory for sign-in and certificates.
2

Install Docker

Install Docker Engine and Docker Compose v2 following your distribution’s instructions or with the official script, and enable autostart.
3

Install gVisor (optional, recommended)

The code interpreter runs code in a sandbox. gVisor additionally shields this sandbox from the server’s kernel. Install runsc following the official guide and register it as a Docker runtime: Installation and Docker Quick Start.
4

Create the installation directory

Create a directory, for example /docker/variosai, and copy the four installation files into it. The database, files and backups will later be created in this directory as well, so include it in your backups.
5

Adjust .env

The delivered .env contains defaults. Adjust at least these values:Generate both tokens directly in .env:
The .env contains passwords and secrets. Do not share it and include it in every backup.
6

Decide on HTTPS

By default, VARIOS AI obtains the certificate automatically from Let’s Encrypt. For this, PROJECT_DOMAIN must point to the server and ports 80 and 443 must be reachable from the internet. No further preparation is needed; the certificate files are created automatically on first start.To use your own certificate instead, follow Configuring a Custom HTTPS Certificate. For a reverse proxy of your company in front of VARIOS AI, please contact support.
7

Log in to the container registry

You receive the credentials from the VARIOS AI team. The login is stored on the server and must be repeated after moving to a new server. Log in with sudo, because the update helper varios.sh runs as a systemd service under root and uses the login stored for root. If you also run docker as your own user without sudo, log in without sudo as well.
8

Start the services

The first start downloads all images and takes a few minutes. Afterwards, all services should be listed as running or healthy.
9

Set up the database

The script creates the database, loads the template library and prepares the application. The first run can take 15 to 60 minutes; do not abort it. It also checks whether the processor supports AVX2.
Afterwards, VARIOS AI is reachable at https://<PROJECT_DOMAIN>.
10

Sign in and enter the license

Sign in with an account that carries the role from SUPERADMIN_GROUP_NAME in the identity provider. Enter the license key from the VARIOS AI team under Administration → Settings → System Information.
11

Set up the update helper

varios.sh performs the updates you trigger in the interface. Set it up as a systemd service so that it keeps running after a reboot, see systemd Service.
After each update, the update helper removes unused Docker images and volumes of the entire server. Do not run other Docker applications on the same server.

Adjust code interpreter limits

Default values apply to the code interpreter’s input and result files. To change them, add the variables to .env. docker-compose.yml passes them on to all affected services. Then apply the change in the installation directory. VARIOS AI is briefly unavailable while this runs.

Selection of input files

Before each execution, VARIOS AI collects the chat’s files and the files stored with the assistant. If two files have the same path, only the chat file is used. The files are sorted by the time of their last change, newest first, and taken over in this order:
  • Once CODE_INTERPRETER_MAX_WORKSPACE_FILES is reached, all further files are left out.
  • If a file no longer fits into the remaining volume of CODE_INTERPRETER_MAX_WORKSPACE_RAW_BYTES, it is skipped. Smaller, older files can still be taken over afterwards.

Copying back the result files

After the execution, VARIOS AI copies all files from the sandbox’s working directory back. This includes the input files that were passed in: unchanged files do not create a new version, but they count toward CODE_INTERPRETER_MAX_ARCHIVE_FILES. Therefore, set this value higher than CODE_INTERPRETER_MAX_WORKSPACE_FILES. A result file larger than CODE_INTERPRETER_MAX_OUTPUT_FILE_BYTES is not saved and does not appear in the response. Regardless of this, at most 64 MiB in total are copied back per execution.
The input files are transferred to the code interpreter Base64-encoded, which makes them about one third larger. The following limits therefore also apply, and you set them in .env as well:
  • CODE_INTERPRETER_MAX_REQUEST_BYTES (default 20000000) limits the entire request including all input files.
  • CODE_INTERPRETER_MAX_WORKSPACE_FILE_B64_CHARS (default 18000000) limits a single input file to about 13.5 MB.
  • CODE_INTERPRETER_WORKSPACE_TMPFS_MB (default 128) limits the sandbox’s working directory, which must hold the input and result files together.
If you raise CODE_INTERPRETER_MAX_WORKSPACE_RAW_BYTES above about 14 MB, adjust these values accordingly. Otherwise, the code interpreter rejects the request and the execution fails.

Updates

Trigger updates under Administration → Settings → System Information. There you see whether a new version is available and choose the target version; the update helper varios.sh performs the update. Plan a maintenance window for this; VARIOS AI is unavailable for a few minutes during the update. Take a snapshot or backup before every update, see Backup and Restore.

Checks after installation

  • https://<PROJECT_DOMAIN> opens without a certificate warning.
  • Sign-in works with a regular account and with an administrator account; the Administration menu is visible.
  • License key entered, no license message.
  • A test chat is answered.
  • A test chat with the code interpreter works: “Use Python to calculate the first 20 prime numbers and save them as primes.txt.” The file appears in the chat.
  • The update helper runs as a systemd service, daily database backups appear under PostgresBackups.

Troubleshooting