Pre-requisites (On-premise installation)

 

 

This document has been created to simplify communication between your IT team and 3YOURMIND. It will also help you to better understand the requirements for your IT infrastructure.

 

We support installing our application with 2 methods:

  1. If you have an existing Kubernetes Cluster and have experience with Kubernetes or Red Hat Open Shift Cluster, see:
    Installation into existing Kubernetes Cluster

  2. If you don’t have an existing cluster, see:
    Installation on Bare Metal Server

Installation into existing Kubernetes Cluster

If possible, we recommend installing our application into an existing Kubernetes or Red Hat Open Shift cluster.

Installing and operating a Kubernetes Cluster is often underestimated. We recommend this option only if a multi-purpose cluster already exists and is not built just for 3YOURMIND.

Cluster Requirements

  • Minimum Resources (to run the SaaS M resources equivalent):

  • Recommended Resources (To run the SaaS L equivalent):

    • 8 CPU

    • 32 GB RAM

  • IngressController (should support SSL/TLS)

  • SSL/TLS Certificates

  • StorageClass (It must be possible to create Persistent Volumes)

  • Space for Uploads and Media Files on volume(see Disk Space) Either:

    • On Persistent Volumes

    • On AWS S3

  • External database: PostgreSQL 13 or later

  • DNS

  • SMTP Server

Installation on Bare Metal Server

Our application can be installed on any bare-metal server.

Single K8S cluster software is included with the installation package for bare metal servers. No need to provision any of the Kubernetes components.

Bare-Metal server Requirements

  • Minimum Resources (to run the SaaS M resources equivalent):

  • Recommended Resources (To run the SaaS L equivalent):

    • 8 CPU

    • 32 GB RAM

  • SSL/TLS Certificates

  • Space for Uploads and Media Files on volume(see Disk Space) Either:

    • On Persistent Volumes/local disk storage

    • On AWS S3

  • Minimum 120 GB of disk space for the /root partition.

    • min 60 GB in /var/lib/

    • min 10 GB in /var/log/

    • min 10 GB in /usr/libexec/

    • min 20 GB in /opt/

  • External database: PostgreSQL 11 or later

  • DNS

  • SMTP Server

Supported operating systems

  • Ubuntu 18.04 (Kernel version >= 4.15) or greater

  • CentOS 7.4 or greater

  • RHEL 7.4 or greater

Software Requirements

  • Bash Version 4 or greater

  • Root access (no shared instance)

Disk Space

Since the application deals with 3D Data and CAD files, a lot of data can be produced.
The media files are stored at a directory, which can be specified during the installation.

The directory could also be a separate hard drive or network share which is mounted on the linux file system.

The needed space is highly dependent on the usage of the application and the average size of the uploaded 3D Data. We recommend clarifying the needs early and reserving enough Space on a Hard Drive.

Also we support storing uploaded files on AWS S3.

Firewall requirements

The following Ports must be accessible:

  • Web: TCP Port 80/443 (for all users)

  • SSH: TCP Port 22 (for maintenance)

Additionally, the Linux Server must be capable to connect to

  • the PostgreSQL Database server

  • the SMTP Server

An internet connection is not required.

Database Requirements

The Application requires a PostgreSQL 13 database or later (Encoding UTF-8)

Details:

  • The Application requires a separate PostgreSQL database server. 

  • The application server needs read/write access to the database server, so any firewall between these needs to allow traffic (Default Port 5432)

  • 3YOURMIND will and can not manage the database server for you. We will neither install a database server nor configure updates/replication of existing database servers. 

  • Sizing requirements for the database heavily depend on usage. We recommend at least 20 GB for a production system. The database will grow slowly over time, so keep the disk space under monitoring. 

  • If the database is installed manually:

After Installation

  • On your database server, you will need to create one database and one user, which has read/write/drop/create rights on the said database.

  • Set these variables for the application user on the database (exchange <dbuser> with your database username):

    ALTER ROLE <dbuser> SET client_encoding TO 'utf8'; ALTER ROLE <dbuser> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <dbuser> SET timezone TO 'UTC';

 

Machine Connectivity Requirements (optional)

Please see Machine Connectivity System Requirements.

Personal Requirements

To maintain a stable 3YOURMIND Application on the server, the following tasks need to be performed:

  • Provisioning all above resources

  • Setting up a Database System and executing Queries (SQL)

  • Configuring DNS

  • Setting up SSL

  • Installing and (regularly) updating the 3YOURMIND Software

In order to perform these tasks, the executing person needs the correct access rights and knowledge of SSH (to access the resources) and Bash on Linux (ls, cd, mv, cp, chown, chmod, nano/vi, top, etc.) Docker and or Kubernetes knowledge is required.

The person should be responsible for both installing the software AND operating the software productively mode (monitoring, error inspection, incident handling, upgrading, …).