Cum instalezi Data Warehouse Stack pe un Cloud VPS
Actualizat 7/18/2026
Stack complet de date: PostgreSQL (warehouse, port 5432), MinIO (data lake, 9001), Apache Airflow (orchestrare, 8080) și Apache Superset (BI, 8088), preconectate. Recomandat: minim 4 vCPU / 8 GB RAM.
Analytics self-hosted înseamnă date deținute de tine, conformitate GDPR simplă și fără plafoane de evenimente sau vizitatori.
Instalare cu un click pe cloudlinux.ro
Cea mai rapidă variantă: Data Warehouse Stack se instalează automat la prima pornire a unui server nou.
- Creează un Cloud VPS din panoul de control.
- La pasul de configurare, alege Data Warehouse Stack din catalogul de aplicații.
- Pornește serverul. Instalarea rulează automat în fundal câteva minute, iar starea apare pe pagina serverului.
- Datele de acces și parolele generate se salvează pe server în
/root/app-credentials.txt. Aplicația va fi disponibilă pe portul 5432.
Instalare manuală pe orice server Ubuntu
Dacă preferi să instalezi singur, mai jos este exact scriptul folosit de instalarea automată. Rulează-l ca root pe un server Ubuntu proaspăt (recomandat 24.04). Se oprește la prima eroare, iar la final găsești datele de acces în /root/app-credentials.txt.
export DEBIAN_FRONTEND=noninteractive
curl -fsSL https://get.docker.com | sh
DB_PASS=$(openssl rand -base64 24 | tr -dc 'A-Za-z0-9' | cut -c1-20)
ADMIN_PASS=$(openssl rand -base64 24 | tr -dc 'A-Za-z0-9' | cut -c1-16)
SECRET_KEY=$(openssl rand -base64 42)
IP=$(hostname -I | awk '{print $1}')
mkdir -p /opt/dwh/dags /opt/dwh/logs /opt/dwh/plugins
cd /opt/dwh
cat > init-db.sh <<EOF
#!/bin/bash
set -e
psql -v ON_ERROR_STOP=1 --username warehouse <<SQL
CREATE DATABASE superset_meta;
CREATE DATABASE airflow_meta;
SQL
EOF
chmod +x init-db.sh
cat > superset_config.py <<EOF
SECRET_KEY = "${SECRET_KEY}"
SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://warehouse:${DB_PASS}@warehouse-db:5432/superset_meta"
EOF
cat > docker-compose.yml <<EOF
services:
warehouse-db:
image: postgres:16
restart: always
environment:
POSTGRES_DB: warehouse
POSTGRES_USER: warehouse
POSTGRES_PASSWORD: ${DB_PASS}
ports:
- '5432:5432'
volumes:
- dwh_pg:/var/lib/postgresql/data
- ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh:ro
minio:
image: quay.io/minio/minio:latest
restart: always
command: server /data --console-address ':9001'
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: ${ADMIN_PASS}
ports:
- '9000:9000'
- '9001:9001'
volumes:
- dwh_minio:/data
airflow-init:
image: apache/airflow:2.11.0
depends_on: [warehouse-db]
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://warehouse:${DB_PASS}@warehouse-db:5432/airflow_meta
entrypoint: /bin/bash
command: -c 'airflow db migrate && airflow users create --username admin --password ${ADMIN_PASS} --firstname Admin --lastname User --role Admin --email [email protected]'
airflow-webserver:
image: apache/airflow:2.11.0
restart: always
depends_on: [warehouse-db]
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://warehouse:${DB_PASS}@warehouse-db:5432/airflow_meta
command: webserver
ports:
- '8080:8080'
volumes:
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
- ./plugins:/opt/airflow/plugins
airflow-scheduler:
image: apache/airflow:2.11.0
restart: always
depends_on: [warehouse-db]
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: postgresql+psycopg2://warehouse:${DB_PASS}@warehouse-db:5432/airflow_meta
command: scheduler
volumes:
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
- ./plugins:/opt/airflow/plugins
superset:
image: apache/superset:latest
restart: always
depends_on: [warehouse-db]
ports:
- '8088:8088'
volumes:
- ./superset_config.py:/app/pythonpath/superset_config.py:ro
- dwh_superset:/app/superset_home
volumes:
dwh_pg:
dwh_minio:
dwh_superset:
EOF
docker compose up -d warehouse-db minio
sleep 20
docker compose run --rm airflow-init
docker compose up -d airflow-webserver airflow-scheduler superset
sleep 20
docker compose exec superset superset db upgrade
docker compose exec superset superset fab create-admin --username admin --firstname Admin --lastname User \
--email [email protected] --password "$ADMIN_PASS"
docker compose exec superset superset init
printf 'Data Warehouse Stack\nPostgreSQL (warehouse): %s:5432, utilizator warehouse, parola %s\nMinIO consola: http://%s:9001, admin / %s\nAirflow: http://%s:8080, admin / %s (DAG-uri in /opt/dwh/dags)\nSuperset: http://%s:8088, admin / %s\nConecteaza Superset la warehouse cu: postgresql+psycopg2://warehouse:%s@warehouse-db:5432/warehouse\n' \
"$IP" "$DB_PASS" "$IP" "$ADMIN_PASS" "$IP" "$ADMIN_PASS" "$IP" "$ADMIN_PASS" "$DB_PASS" > /root/app-credentials.txt
Poți salva scriptul și ca rețetă în contul tău, ca să-l refolosești la orice server nou.
Pune ghidul în practică pe un VPS propriu
Servere cloud în UE, facturate la oră, gata în câteva minute, cu instalare cu un click pentru zeci de aplicații.
Vezi prețurileTutoriale similare
Cum instalezi WordPress pe un Cloud VPS
Ghid complet WordPress: instalare cu un click pe cloudlinux.ro sau manual pe orice server Ubuntu, pas cu pas.
Actualizat 7/18/2026AplicațiiCum instalezi ProjectSend pe un Cloud VPS
Ghid complet ProjectSend: instalare cu un click pe cloudlinux.ro sau manual pe orice server Ubuntu, pas cu pas.
Actualizat 7/18/2026AplicațiiCum instalezi Prometheus + Grafana pe un Cloud VPS
Ghid complet Prometheus + Grafana: instalare cu un click pe cloudlinux.ro sau manual pe orice server Ubuntu, pas cu pas.
Actualizat 7/18/2026