A well-executed project dps demo install does more than just start services—it validates that the DPS solution fits your threat model, scales with your data velocity, and integrates with your SOC stack. By following this guide, you’ve moved from downloading binaries to a fully functional, tested, and benchmarked demonstration environment.
Next steps after a successful demo:
Remember: A demo install is your last risk-free chance to break things. Push the boundaries, corrupt the mock database, and simulate a network cutover. Only by stress-testing the demo can you confidently sign off on the production license.
Call to Action: Have you tried a project dps demo install on Kubernetes instead of Docker? Share your experience in the comments below or contact our solutions engineering team for a Helm chart version. project dps demo install
Keywords used: project dps demo install, DPS demo installation guide, data protection system demo, deploy DPS sandbox.
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg lsb-release apt-transport-https ca-certificates
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
newgrp docker
ETCD_VER=v3.5.9
curl -L https://github.com/etcd-io/etcd/releases/download/$ETCD_VER/etcd-$ETCD_VER-linux-amd64.tar.gz -o etcd.tar.gz
tar xzf etcd.tar.gz
sudo mv etcd-$ETCD_VER-linux-amd64/etcd* /usr/local/bin/
rm -rf etcd*
nohup /usr/local/bin/etcd --name demo-etcd --listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://127.0.0.1:2379 > /var/log/etcd.log 2>&1 &
Verify:
/usr/local/bin/etcdctl --endpoints=http://127.0.0.1:2379 endpoint status
docker pull projectdps/controller:latest
docker pull projectdps/worker:latest
docker pull projectdps/cli:latest
docker run -d --name dps-controller --restart unless-stopped \
-p 9000:9000 -p 9100:9100 \
-e ETCD_ENDPOINTS=http://host.docker.internal:2379 \
projectdps/controller:latest
Note: if host.docker.internal is unavailable on Linux, use host network or 127.0.0.1 and run with --network host: A well-executed project dps demo install does more
docker run -d --name dps-controller --restart unless-stopped --network host \
-e ETCD_ENDPOINTS=http://127.0.0.1:2379 \
projectdps/controller:latest
docker run -d --name dps-worker --restart unless-stopped --network host \
-e CONTROLLER_ADDR=http://127.0.0.1:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
projectdps/worker:latest
docker run --rm -v ~/.dps:/root/.dps projectdps/cli:latest dpsctl configure --controller http://127.0.0.1:9000
# or, to copy a binary locally if provided in release:
# curl -Lo dpsctl https://example.com/releases/dpsctl && chmod +x dpsctl && sudo mv dpsctl /usr/local/bin/
dpsctl submit --name hello-demo --image busybox --cmd "sh -c 'echo Hello DPS; sleep 30'"
Or via controller UI at http://localhost:9000 (if UI included).
docker rm -f dps-worker dps-controller
docker rmi projectdps/controller:latest projectdps/worker:latest
sudo pkill etcd
During your demo install, log realistic metrics to report to stakeholders:
| Metric | Demo Expectation | Production Baseline | |--------|------------------|----------------------| | Packet ingestion rate | 50 Mbps | >1 Gbps | | Alert latency (UI) | 2–5 seconds | <500 ms | | Concurrent users | 3 dashboard sessions | 50 analysts | | Storage consumption | 10 GB/day | 200 GB/day | Remember: A demo install is your last risk-free
If your demo underperforms, review the .env variable INGESTION_LIMIT_MBPS — it may be artificially throttled.
While a project dps demo install is non-production, it still contains mock PII or internal network patterns. Implement these minimal controls: