Installation

Prerequisites

  • Domain name for the installation

  • Email and SMTP credentials for the ADMIN user

  • GitHub Key for pulling container images (Provided by DataSpace)

  • License Key for the platform (Provided by DataSpace)

Hardware Requirements

Minimum Viable Configuration

  • CPU: 8 cores

  • RAM: 16 GB

  • Storage: 200 GB SSD

  • Network: 1 Gbps

Production-Ready Configuration

  • CPU: 16+ cores

  • RAM: 64+ GB

  • Storage: 1 TB NVMe SSD

  • Network: 10 Gbps

The data transformation containers are the key differentiator here. They will dynamically consume resources based on your data processing workloads, so peak usage scenarios when multiple transformation jobs are running concurrently need to be taken into consideration.

For more information about this topic, please refer to the Scalability page.

Installation Steps

1. Script Download

Download and execute the Installation Script with the following command

circle-info

The installation script must be run as root (or via sudo).

2. Installation Process

The installation script performs the following actions:

  • Creates a dedicated user dataspace (defaults to UID/GID 1007)

  • Installs Docker if not present

  • Sets up the directory structure in /opt/dataspace/DataSpace/Platform

  • Downloads configuration files from GitHub

  • Configures environment variables

  • Registers an automatic startup service

3. Manual Configuration

Manually set up the missing variables in the .env file.

Please refer to the Configuration for more details about the individual configuration options.

4. Firewall

The infrastructure is set up with only one entry point into the system, being Caddy (the Reverse Proxy). It maps subdomains to ports and routes them internally to the appropriate services. This ensures that services like the database are never exposed to the outside world, and public services are all routed through the HTTPS protocol to ensure the data is encrypted in transit.

5. Git Setup (Optional)

It is common for configurations to keep changing. Therefore, it is recommended to set up a local git repository to track the configurations and environment variables.

And add the volume directory to the gitignore

Starting the Services

When everything is configured, you have to first run the ./update.sh script in order to bootstrap the database. Once all steps are successfully passed, all services will automatically start in the background.

See Maintenance for more details about the update.sh script.

Folder Structure

After the installation is completed, the final folder structure should look something like this:

Last updated