Installation
Prerequisites
- Installation targets Debian ≥ 11
- System ulimit should be raised to minimum 65536
# Append these lines to /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
Installation Steps
1. Install Docker
As root, install Docker:
curl -fsSL https://framagit.org/interhop/libre-data-hub/libredatahub/-/raw/3.0.0/install_docker.sh | sh
2. Clone and Configure
As any user in the docker group, clone and configure:
git clone --branch 3.0.0 --single-branch https://framagit.org/interhop/libre-data-hub/libredatahub.git && cd libredatahub
3. Configure Authentication and Environment
Copy and configure the template files:
- Authentication: Copy
application-auth.ymlfrom either:template.application-auth-oidc.ymlfor OIDC (e.g., Keycloak)template.application-auth-simple.ymlfor basic authentication
- Environment: Copy
.envfromtemplate.envwith your values
4. Start LibreDataHub
LDH_UID=$(id -u) DOCKER_GID=$(getent group docker | cut -d: -f3) COMPOSE_PROFILES=ldh,myst,postgres,monitoring,airflow,llm docker compose up -d
Available Profiles:
- ldh [mandatory]: Jupyter, RStudio, Code-server, CloudBeaver
- postgres [optional]: PostgreSQL database with CitusDB extension (or use external database)
- monitoring [optional]: Grafana, Loki, PostgreSQL metrics
- airflow [optional]: Apache Airflow workflow scheduler
- llm [optional]: Ollama for local LLM inference (requires GPU)
5. Configure Reverse Proxy (Optional)
Generate nginx configuration:
# Note: .env variables must be configured first
./install_nginx.sh
6. Setup SSL (Optional)
apt-get install -y nginx certbot python3-certbot-nginx
certbot --nginx
Upgrade
Releases follow semantic versioning. To upgrade:
-
Read the CHANGELOG for breaking changes
-
Execute upgrade commands:
# Fetch and checkout new version
git fetch --tags
git checkout 3.0.0
# Pull new images
LDH_UID=$(id -u) DOCKER_GID=$(getent group docker | cut -d: -f3) COMPOSE_PROFILES=ldh,myst,postgres,monitoring,airflow,llm docker compose pull
# Stop current containers
LDH_UID=$(id -u) DOCKER_GID=$(getent group docker | cut -d: -f3) COMPOSE_PROFILES=ldh,myst,postgres,monitoring,airflow,llm docker compose down
# Start with new version
LDH_UID=$(id -u) DOCKER_GID=$(getent group docker | cut -d: -f3) COMPOSE_PROFILES=ldh,myst,postgres,monitoring,airflow,llm docker compose up -d
Users and Groups
LDH groups must meet the below rules:
<LDH_INSTANCE>_ADMIN_LDH: for libredatahub superuser, including user session management<LDH_INSTANCE>_LDH_<projectname>: user with in this group will access toprojectname<LDH_INSTANCE>_ADMIN_LDH_<projectname>: admin of theprojectname
Where <LDH_INSTANCE> is defined in the .env file.
IMPORTANT: Follow this guide to setup keycloak groups or use the template if you use basic auth.
External Database
To use an external PostgreSQL database instead of the built-in instance, configure in .env:
POSTGRES_HOST=your-external-host
POSTGRES_PORT=5432
GPU Support
LibreDataHub provides GPU acceleration for AI/ML workloads when NVIDIA_GPU_COUNT > 0 in your environment configuration.
GPU support enables:
- PyTorch and TensorFlow GPU acceleration
- Ollama LLM inference with GPU
- High-performance deep learning workflows
Documentation
For more detailed information, see the full documentation on GitLab.