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:
If you have an existing Kubernetes Cluster and have experience with Kubernetes or Red Hat Open Shift Cluster, see:
Installation into existing Kubernetes ClusterIf 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):
4 CPU
Intel Broadwell (2013) or newer
AMD Piledriver (2012) or newer
16 GB RAM
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):
4 CPU
Intel Nehalem (2008) or newer
AMD Bulldozer (2011) or newer
16 GB RAM
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:
It should be done on a separate server with at least 4GB RAM
The Application Server must be able to connect to the Database Server (Default Port 5432)
For installing PostgreSQL, please refer to the official Installation instructions or to an unofficial installation guide (recommended)
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, …).