A Docker Desktop extension for managing DDALAB (Delay Differential Analysis Laboratory) installations directly from Docker Desktop's Extensions tab.
DDALAB (Delay Differential Analysis Laboratory) is a comprehensive scientific computing platform for performing Delay Differential Analysis on EDF (European Data Format) and ASCII files. It is planned to be used in neuroscience research for analyzing brain activity patterns and detecting anomalies in EEG and other physiological data.
# Install the extension
docker extension install sdraeger1/ddalab-docker-ext:latest
# Verify installation
docker extension ls
# Clone the repository
git clone https://github.com/sdraeger/DDALAB.git
cd DDALAB/docker-extension
# Build and install locally
docker extension install .
After installation, find "DDALAB Manager" in your Docker Desktop Extensions tab.
Once services are running, access DDALAB at:
DDALAB Manager orchestrates a complete microservices stack:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ React UI โ โ DDALAB API โ โ PostgreSQL โ
โ (Frontend) โโโโโบโ (FastAPI) โโโโโบโ (Database) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Traefik โ โ Redis โ โ MinIO โ
โ (Proxy) โ โ (Cache) โ โ (Storage) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
| Service | Purpose | Port | Health Check |
|---|---|---|---|
| ddalab | Main API server with GraphQL | 8000 | โ Built-in |
| postgres | Primary database | 5432 | โ Built-in |
| redis | Caching and sessions | 6379 | โ Built-in |
| minio | Object storage for EDF files | 9000/9001 | โ Built-in |
| traefik | Reverse proxy with SSL | 80/443 | โ Built-in |
# Start DDALAB stack
curl -X POST http://localhost:8080/api/v1/start
# Check service status
curl http://localhost:8080/api/v1/status
# View logs
curl http://localhost:8080/api/v1/logs/ddalab
# Stop services
curl -X POST http://localhost:8080/api/v1/stop
The extension provides a user-friendly interface for:
The extension supports configuration through environment variables:
DDALAB_MODE=production # deployment mode
DDALAB_DEBUG=false # debug logging
DDALAB_HOST=localhost # host domain
DDALAB_PORT=443 # HTTPS port
POSTGRES_PASSWORD=secure123 # database password
REDIS_PASSWORD=secure456 # Redis password
MINIO_ROOT_USER=admin # MinIO admin user
MINIO_ROOT_PASSWORD=secure789 # MinIO admin password
DDALAB requires persistent storage for:
The extension creates a dedicated Docker network for DDALAB services with:
# Clone the repository
git clone https://github.com/sdraeger/DDALAB.git
cd DDALAB/docker-extension
# Build the UI
cd ui
npm install
npm run build
cd ..
# Build the extension
docker build -t ddalab-manager .
# Install locally
docker extension install ddalab-manager:latest
docker-extension/
โโโ Dockerfile # Multi-stage build configuration
โโโ compose.yaml # Service composition
โโโ metadata.json # Extension metadata
โโโ extension.yaml # Extension configuration
โโโ icon.svg # Extension icon
โโโ backend/ # Go backend API
โ โโโ main.go
โ โโโ handlers/
โ โโโ models/
โโโ ui/ # React frontend
โโโ src/
โโโ package.json
โโโ webpack.config.js
The extension backend provides RESTful API endpoints:
GET /api/v1/health - Health checkGET /api/v1/status - Service statusPOST /api/v1/start - Start servicesPOST /api/v1/stop - Stop servicesGET /api/v1/logs/{service} - Get service logsGET /api/v1/config - Get configurationPOST /api/v1/config - Update configuration# Run backend tests
cd backend
go test ./...
# Run frontend tests
cd ui
npm test
# Run integration tests
npm run test:integration
DDALAB implements advanced algorithms for:
# Check Docker Desktop version
docker version
# Verify extension installation
docker extension ls
# Check extension logs
docker extension logs sdraeger1/ddalab-docker-ext
# Check available resources
docker system df
# Verify port availability
netstat -an | grep :8080
# Check service logs
curl http://localhost:8080/api/v1/logs/ddalab
We welcome contributions to DDALAB Manager! Please see our Contributing Guideโ for details.
git checkout -b feature/amazing-featureThis project follows the Contributor Covenant Code of Conductโ .
This project is licensed under the MIT License - see the LICENSEโ file for details.
Made with โค๏ธ for the scientific computing community
For questions, suggestions, or support, please open an issueโ on GitHub.
Content type
Image
Digest
sha256:9aeb0877eโฆ
Size
44.8 MB
Last updated
12 months ago
docker pull sdraeger1/ddalab-docker-ext