System Requirements

Operating System

We recommend to set up openBIS on a Linux operating system. We provide support for installing and operating openBIS on supported Ubuntu Server LTS releases .

  • Operating System: Linux / MacOS X

Third-Party Packages

The following software packages are required:

  • The binaries bash, awk, sed and unzip need to be installed and in the PATH of the openBIS user.

  • Java Runtime Environment: OpenJDK 21

  • PostgreSQL 18 with prepared transactions functionality enabled

Microservices memory settings

openBIS operates as several separate services. Because each service reserves its own memory, the total available memory must be divided among them accordingly.

  • Application Server (AS)

  • RO-Crate Server (ROS)

  • Datastore Server (DSS)

  • Atomic File System Server (AFS)

All services share the same PostgreSQL database service.

CPU and Memory Configuration

Please bear in mind that recommended settings may vary from the suggested ones depending on how openBIS is used.

Take these as initial suggestions.

Concurrent Users

Small

Medium

Big

up to 5 concurrent users

x

x

x

up to 20 concurrent users

x

x

more than 20 concurrent users

x

Small instance

Item

Recommended Setting

CPUs

2 modern x86 CPU cores

Total RAM

6 GB

Memory allocated to OS

1.5 GB

Memory allocated to PostgreSQL

1 GB

Memory allocated to AS

2 GB

Memory allocated to ROS

0.5 GB

Memory allocated to DSS

0.5 GB

Memory allocated to AFS

0.5 GB

Medium instance

Item

Recommended Setting

CPUs

4 modern x86 CPU cores

Total RAM

10 GB

Memory allocated to OS

1.5 GB

Memory allocated to PostgreSQL

1.5 GB

Memory allocated to AS

4 GB

Memory allocated to ROS

1 GB

Memory allocated to DSS

1 GB

Memory allocated to AFS

1 GB

Big instance

Item

Recommended Setting

CPUs

8 modern x86 CPU cores

Total RAM

16 GB

Memory allocated to OS

2 GB

Memory allocated to PostgreSQL

2 GB

Memory allocated to AS

8 GB

Memory allocated to ROS

1 GB

Memory allocated to DSS

1 GB

Memory allocated to AFS

2 GB

Postgres Memory Settings

Memory-related settings of your PostgreSQL server can be obtained from https://pgtune.leopard.in.ua/.

After clicking on “Generate”, you get the matching settings of the postgresql.conf displayed.

Example for 2 GB dedicated to PostgreSQL

# DB Version: 18
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 2 GB
# CPUs num: 4
# Connections num: 50
# Data Storage: ssd

max_connections = 50
shared_buffers = 512MB
effective_cache_size = 1536MB
maintenance_work_mem = 128MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 9709kB
huge_pages = off
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 4
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
max_parallel_maintenance_workers = 2

Tuning Of Hardware Settings In Case Of Issues

Symptom

Recommended Action

Long query execution times

Increase CPU number and/or AS & Postgres memory settings, reconfigure Postgres and openBIS memory settings following the recommended settings provided by https://pgtune.leopard.in.ua/.

AS log shows out of memory errors

Increase AS Memory.

Service X log shows out of memory errors

Increase service X Memory.

Additional Requirements

An SMTP server needs to be accessible if you want openBIS to send out notifications via mail. We recommend to use the a local mail transfer agent such as Postfix configured for message sending.