DCCV - Distributed Cluster for Computer Vision
A distributed computer vision system built with Akka actors and Docker Swarm for real-time computer vision algorithms.
Documentation
- API Documentation - Akka actors main protocols, REST and Docker APIs
- Latest Release - Deployment files
- Source Code - GitHub repository
- Docker Images - Container registry
Quick Start
- Download the app deployment script:
curl -sSL https://github.com/brunoesposito2/DCCV/releases/download/v$VERSION/deploy-dccv.sh -o deploy-dccv.sh - Make it executable:
chmod +x deploy-dccv.sh - Launch command
./deploy-dccv.sh ${VERSION}
Manual Deployment
- Initialize Docker Swarm:
docker swarm init export JOIN_TOKEN=\$(docker swarm join-token -q worker) export MANAGER_IP=\$(docker node inspect self --format '') - Create overlay network:
docker network create --driver overlay --attachable swarm-network - Deploy stack:
docker stack deploy -c docker-compose-prod.yml dccv
Architecture
| Component | Technology | Purpose |
|---|---|---|
| Camera Node | C++/OpenCV | Computer vision processing |
| GUI Frontend | React | Web interface |
| GUI Backend | Scala/Akka/Vertx | REST API & coordination |
| Utility Node | Scala/Akka | Cluster supervision |
| Storage | MongoDB | Data persistence |
Features
- Real-time computer vision with face/body detection
- Distributed actor system using Akka clustering
- Live video streaming via WebSocket
- Docker Swarm orchestration for scalability
- Modern web interface with React
- Automated CI/CD with semantic versioning
Technology Stack
Backend: Scala, Akka, C++, OpenCV, Vertx, MongoDB
Frontend: React, WebSocket
DevOps: Docker Swarm, GitHub Actions, Gradle