Skip to main content

Backend CLI reference

This page provides a comprehensive reference for the Platforma backend command-line options.

Common examples

Here are a few examples of how to combine flags for common setup scenarios.

To run a simple backend for your lab on a local network server:

# Listen on the server's network IP
# Point to a shared folder on the server for data
./platforma --license <YOUR_LICENSE_KEY> \
--listen-address 'http://10.0.1.50' \
--primary-storage-fs-url 'http://10.0.1.50:6347' \
--data-library-fs "lab-data=/mnt/shared/sequencing_data"

To set up a secure, multi-user backend with a custom domain:

# Listen securely on your domain
# Use a password file for user accounts
# Disable the default host data library for better security
./platforma --license <YOUR_LICENSE_KEY> \
--listen-address 'https://platforma.mylab.edu' \
--listen-tls '/path/to/cert.pem,/path/to/key.pem' \
--auth-htpasswd '/etc/platforma/users.htpasswd' \
--no-host-data-library

Core & licensing

OptionDescriptionDefaultEnv Var
--licenseYour license key (e.g., E-XXXX...).PL_LICENSE
--license-filePath to a file containing your license key.~/.pl.licensePL_LICENSE_FILE
--configPath to a custom YAML configuration file. Overrides all other CLI options.PL_CONFIG_FILE
--versionShow version info and exit.
--full-versionShow a more detailed version report and exit.

Local storage

OptionDescriptionDefaultEnv Var
--main-rootPath to the root directory for all local data (database, software, logs, etc.).~/.platforma/backend/PL_MAIN_ROOT
--db-dirPath to store the backend's state database. Useful for placing the DB on a faster local drive when --main-root is on a network share.<main-root>/rocksdbPL_DB_DIR
--work-dirPath to store temporary working directories for block execution.<main-root>/workPL_WORK_DIR
--packages-dirPath to store downloaded software packages required by blocks.<main-root>/packagesPL_PACKAGES_DIR

Network & connection

OptionDescriptionDefaultEnv Var
--listen-addressThe network address to listen on (e.g., http://192.168.1.10 or https://platforma.my-company.com).http://127.0.0.1PL_LISTEN_ADDRESS
--listen-portThe TCP port for the main gRPC API.6345PL_LISTEN_PORT
--listen-http-portThe TCP port for the HTTP file storage service.6347PL_LISTEN_HTTP_PORT
--listen-tlsEnables TLS (HTTPS). Provide a path to cert and key files (cert.pem,key.pem). If no path is given, a self-signed certificate is generated.DisabledPL_LISTEN_TLS
--self-signed-tls-domainWhen generating a self-signed certificate, add this domain. Can be used multiple times.PL_LISTEN_TLS_DOMAINS
--self-signed-tls-ipWhen generating a self-signed certificate, add this IP address. Can be used multiple times.PL_LISTEN_TLS_IPS

Primary storage

This is the main storage for workflow results.

OptionDescriptionDefaultEnv Var
--primary-storage-fs-urlFor the default filesystem storage, this is the URL that the Desktop App must use to download results.http://127.0.0.1:6347PL_PRIMARY_STORAGE_FS_URL
--primary-storage-s3Use an S3 bucket as primary storage. Accepts s3://bucket/prefix or https://endpoint/bucket/prefix URLs.FilesystemPL_PRIMARY_STORAGE_S3
--primary-storage-gcsUse a Google Cloud Storage bucket as primary storage. Accepts gs://bucket/prefix URLs.FilesystemPL_PRIMARY_STORAGE_GCS
--primary-storage-s3-regionThe AWS region for the S3 bucket.PL_PRIMARY_STORAGE_S3_REGION
--primary-storage-s3-keyS3 access key ID.PL_PRIMARY_STORAGE_S3_KEY
--primary-storage-s3-secretS3 secret access key.PL_PRIMARY_STORAGE_S3_SECRET
--primary-storage-s3-external-endpointAn alternative S3 endpoint URL for the Desktop App to use, if different from the one the backend uses.PL_PRIMARY_STORAGE_S3_EXTERNAL_ENDPOINT
--primary-storage-s3-no-data-integrityDisable modern data integrity checks for S3 uploads. May be needed for some S3-compatible services like older MinIO or Ceph.PL_PRIMARY_STORAGE_S3_NO_DATA_INTEGRITY

Data libraries

Connects the backend to existing raw data sources.

OptionDescriptionDefaultEnv Var
--no-host-data-libraryDisables the default host=fs:/ data library, which exposes the entire server filesystem.EnabledPL_NO_HOST_DATA_LIBRARY
--data-library-fsAttach a local filesystem directory as a data library. Format: id=path. Can be used multiple times.PL_DATA_LIBRARY_FS_PATH
--data-library-s3Attach an S3 bucket as a data library. Format: id=s3://bucket/prefix. Can be used multiple times.PL_DATA_LIBRARY_S3_URL
--data-library-s3-regionThe AWS region for a specific S3 data library. Format: id=region.PL_DATA_LIBRARY_S3_REGION
--data-library-s3-keyS3 access key ID for a specific data library. Format: id=key.PL_DATA_LIBRARY_S3_KEY
--data-library-s3-secretS3 secret access key for a specific data library. Format: id=secret.PL_DATA_LIBRARY_S3_SECRET
--data-library-s3-no-data-integrityDisable data integrity checks for a specific S3 library. Format id=true.PL_DATA_LIBRARY_S3_NO_DATA_INTEGRITY

Runner options

Controls how and where analysis jobs are executed. For Google Batch options, see the advanced GCP installation guide.

OptionDescriptionDefaultEnv Var
--runner-local-cpuLimit the number of CPU cores available for local job execution.All available coresPL_RUNNER_LOCAL_CPU
--runner-local-ramLimit the amount of RAM available for local job execution. Accepts suffixes (GB, GiB) or percentages (e.g., 50%).95% of total RAMPL_RUNNER_LOCAL_RAM

User authentication

OptionDescriptionDefaultEnv Var
--auth-htpasswdEnable authentication using a static htpasswd file. Provide the path to the file.DisabledPL_AUTH_HTPASSWD
--auth-ldap-serverEnable LDAP authentication. Provide the LDAP server URL (e.g., ldap://server.com).PL_AUTH_LDAP_SERVER
--auth-ldap-dnThe Distinguished Name (DN) template for LDAP user lookup. %u is replaced with the username.PL_AUTH_LDAP_DN
--auth-ldap-start-tlsUse the StartTLS extension to secure a plain ldap:// connection.PL_AUTH_LDAP_START_TLS

Logging

OptionDescriptionDefaultEnv Var
--log-levelLogging level: info, warn, debug, or error.infoPL_LOG_LEVEL
--log-dirDirectory to store log files.<main-root>/logPL_LOG_DIR
--log-rotation-sizeMax size of a log file before rotation (e.g., 20MB).20MiBPL_LOG_ROTATION_SIZE
--log-rotation-backupsNumber of old log files to keep.20PL_LOG_ROTATION_BACKUPS
--no-log-rotationDisable automatic log rotation.PL_NO_LOG_ROTATION
--no-log-compressionDo not compress rotated log files.PL_NO_LOG_COMPRESSION
--quietDisable logging to stdout/stderr.

Special options

OptionDescriptionEnv Var
--use-restricted-network-modeStart the backend in a mode intended for networks with limited internet access.PL_USE_RESTRICTED_NETWORK_MODE
--skip-extended-self-checkSkips slower startup checks, such as verifying Google Batch connectivity.PL_SKIP_EXTENDED_SELF_CHECK
--only-verify-configPerforms all deep configuration verification checks and then exits.
--cancel-running-blocksCancels all currently running blocks and exits without starting the full service.
--get-queue-limitsEstimates and prints the CPU/RAM limits for job queues and exits.