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
wget -q https://raw.githubusercontent.com/dataspaceswiss/Installer/refs/heads/main/install.sh
chmod +x ./install.sh
sudo ./install.sh
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.
Enable TCP Port 80 for HTTP passthrough (Required for initial certificate provisioning)
Enable TCP Port 443 for HTTPS passthrough
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.
# Navigate to DataSpace directory
cd /opt/dataspace/Platform
# Initialize a local git repository
git init
And add the volume directory to the gitignore
volume/
volume_backup/
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.
# Switch to dataspace user
su - dataspace
# Navigate to DataSpace directory
cd /opt/dataspace/Platform
# Run update script to start services
./update.sh
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:
📁 /opt/dataspace/Platform
├── .env
├── docker-compose.yml
├── startup.sh
├── update.sh
├── 📁 caddy
│ ├── Caddyfile
│ └── blocked_ips.caddyfile
├── 📁 secrets
│ ├── gh_key.txt
│ └── pg_password.txt
├── 📁 volume
│ ├── 📁 DataSpace_data
│ ├── 📁 DataSpace_db_backup
│ └── 📁 DataSpace_db_data
└── 📁 volume_backup
Last updated