Skip to main content

Deployment Guides

The backend can be configured to run on various infrastructures. Below, we present example of the simple configuration for deploying Platforma Backend on single server.

Quick Start

  1. Fulfill the infrastructure requirements.
  2. Get the valid license from https://licensing.milaboratories.com.
  3. Download the binary for your OS and architecture from the Platforma Downloads page.
  4. Start the Platforma Backend on a server.
  5. Test from the desktop application that Platforma Backend works and has all the permissions.

Step 1

Was described in Getting Started guide.

Step 2

Follow instructions on https://licensing.milaboratories.com.

Step 3: Get Platforma Backend binary

For Linux, you can download and set up the binary using the following commands:

mkdir -p ./platforma &&
wget \
--output-document "./platforma/pl-1.35.5-amd64.tgz" \
"https://cdn.platforma.bio/software/pl/linux/pl-1.35.5-amd64.tgz"
tar -C "./platforma" -xzf "./platforma/pl-1.35.5-amd64.tgz"

The URL format of backend download link is: https://cdn.platforma.bio/software/pl/<OS>/pl-<VERSION>-<ARCH>.tgz We also provide builds for:

  • OS: macos, ARCH: amd64, arm64
  • OS: linux, ARCH: amd64, arm64
  • OS: windows, ARCH: amd64

Step 4: Start the Platforma Backend on a server

Platforma Backend uses file system as its primary storage by default. Additionally platforma Backend also needs local storage space to keep its state DB and runtime data: downloaded software, working directories and raw data to be analyzed. These things are mandatory for backend to operate normally.

Platforma Backend generates storage data download URLs for Desktop App. This means primary storage should be reachable by Desktop App.

tip

You should provide address using by desktop app to download and upload files to primary storage. Provided address should be related to HTTP API address of Platforma Backend. You can configure HTTP API address in HTTP API configuration documentation.

Don't use http://localhost:6347 as --primary-storage-fs-url storage address: Desktop App on your laptop will not be able to connect Platforma Backend on this address.

./platforma/binaries/platforma \
--license "E-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
--main-root './platforma/data' \
--data-library-fs 'raw-data=./platforma/storage/raw-data-library/' \
--primary-storage-fs-url 'http://corporate-platforma-service-address:6347'

This command starts backend, that stores all its data inside './platforma/data' on local server and uses http://corporate-platforma-service-address:6347 for access to primary storage. Platforma backend will listen on port 6347 for HTTP API connections.

All steps above condensed into short snippet for experienced users

warning

Below is condensed version of the guide for those who are familiar with linux servers and command line. If you have small experience - we recommend you to follow the guide starting from Step 1.

Configure environment variables to your deployment. Adjust values accordingly to your needs
# No need to export them: just set them in shell you're going to use to run commands below
LICENSE="E-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # get it from licensing.milaboratories.com
PL_VERSION='1.35.5'
SERVER_ADDR='put server IP address here' # IP you use to connect to the server
MAIN_ROOT='./platforma/' # place where all generated data will be stored
DATA_LIBRARY='put data library path here' # where raw samples are stored
S3_KEY='' # put S3 Key ID here or fill with any text when using MinIO
S3_SECRET='' # put S3 Key Secret here or fill with any text when using MinIO
Download and start Platforma Backend
wget \
--output-document "${MAIN_ROOT}/pl-${PL_VERSION}-amd64.tgz" \
"https://cdn.platforma.bio/software/pl/linux/pl-${PL_VERSION}-amd64.tgz"
tar -C "${MAIN_ROOT}" -xzf "${MAIN_ROOT}/pl-${PL_VERSION}-amd64.tgz"

${MAIN_ROOT}/binaries/platforma \
--license "${LICENSE}" \
--main-root "${MAIN_ROOT}/data" \
--primary-storage-fs-url "http://${SERVER_ADDR}:${PL_LISTEN_HTTP_PORT}" \
--data-library-fs "raw-data=${DATA_LIBRARY}"

Now you can connect to Platforma Backend on http://<SERVER_ADDR>:6345/

Step 5: Test the Platforma Backend from Desktop App

After Platforma Backend is started, you can test all the permissions and functionality from Desktop App.

Start Platforma Desktop App, find a context menu and click on 'Check Network' item. There you could input the address of the Platforma Backend, the user and a password, and click 'Check' button.

The check will try to connect to the Platforma Backend, download and upload files and try to run simple Python script.

If all the credentials are correct, you should see a text field with succeded or failed checks.

Check Network Menu

Check Network Context Menu

Check Network Menu

Check Network Result