Prerequisites & Setup
System requirements and Docker installation for DataVault deployment
Before You Start: This guide ensures your system is ready for DataVault deployment. Complete all steps before proceeding to vault creation.
System Requirements Check
Before installing DataVault, verify your system meets these requirements:
# Check available RAM
free -h
# Required: 4-8 GB depending on data volume
# Check disk space
df -h
# Required: At least 20GB free space
# Check CPU cores
nproc
# Recommended: 2+ cores for optimal performance
Minimum Requirements:
- RAM: 4 GB (8 GB recommended for large datasets)
- Storage: 20 GB free space (more for document storage)
- CPU: 2+ cores recommended
- GPU: Optional (required only for local embedding models)
# Check Docker version
docker --version
# Required: Docker v27 or higher
# Check Docker Compose version
docker compose version
# Required: Docker Compose 2.0.0 or higher
Software Requirements:
- Docker Engine 27+
- Docker Compose 2.0.0+
- curl (for health checks)
- Text editor (nano, vim, or VS Code)
# Test connection to meinGPT infrastructure
curl -I https://vault-proxy.meingpt.com
# Expected: HTTP/2 200
# Test DNS resolution
nslookup vault-proxy.meingpt.com
# Should resolve to an IP address
Required Outbound Connections:
vault-proxy.meingpt.com:443
(HTTPS) - meinGPT connectivity- Your embedding service endpoints (OpenAI, Azure, etc.)
- Your data source endpoints (SharePoint, S3, etc.)
- Docker Hub or your private registry
Docker Installation
Follow the tutorial for your operating system to install the Docker Engine (Docker CE): https://docs.docker.com/engine/install/
Post-Installation Setup
After Docker installation, complete these setup steps:
1. Verify Docker Installation
# Check Docker daemon is running
docker info
# Test with hello-world container
docker run hello-world
# Check Docker Compose
docker compose version
# Test Docker Compose
echo "version: '3.8'
services:
test:
image: alpine
command: echo 'Docker Compose works!'" > test-compose.yml
docker compose -f test-compose.yml up
docker compose -f test-compose.yml down
rm test-compose.yml
2. Configure Docker (Optional)
For production deployments, configure Docker resource limits:
# Create or edit Docker daemon config
sudo mkdir -p /etc/docker
# Configure memory and CPU limits
cat << EOF | sudo tee /etc/docker/daemon.json
{
"default-ulimits": {
"memlock": {
"Hard": -1,
"Name": "memlock",
"Soft": -1
}
},
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# Restart Docker to apply changes
sudo systemctl restart docker
Configure Docker storage location if needed:
# Stop Docker
sudo systemctl stop docker
# Edit Docker daemon config
sudo nano /etc/docker/daemon.json
# Add data-root configuration:
# {
# "data-root": "/path/to/new/docker/root"
# }
# Move existing Docker data (optional)
sudo mv /var/lib/docker /path/to/new/docker/root
# Start Docker
sudo systemctl start docker
Security configurations for production:
# Enable Docker rootless mode (optional)
dockerd-rootless-setuptool.sh install
# Enable audit logging
echo "audit:1" | sudo tee -a /etc/default/grub
sudo update-grub
Network Configuration
Ensure your network allows the required connections:
Network Connectivity Test
# Test all required connections
echo "Testing network connectivity..."
# Test meinGPT connectivity
if curl -s --max-time 10 https://vault-proxy.meingpt.com > /dev/null; then
echo "✅ meinGPT connectivity: OK"
else
echo "❌ meinGPT connectivity: FAILED"
fi
# Test Docker Hub connectivity
if docker pull alpine:latest > /dev/null 2>&1; then
echo "✅ Docker Hub connectivity: OK"
docker rmi alpine:latest > /dev/null 2>&1
else
echo "❌ Docker Hub connectivity: FAILED"
fi
# Test DNS resolution
if nslookup vault-proxy.meingpt.com > /dev/null 2>&1; then
echo "✅ DNS resolution: OK"
else
echo "❌ DNS resolution: FAILED"
fi
echo "Network test completed!"
Troubleshooting
Next Steps
Now that your system is prepared:
- Create DataVault - Set up your vault in the meinGPT dashboard
- Installation - Deploy DataVault with Docker Compose
- Verification - Test your deployment
- Operations - Learn maintenance procedures