A revolutionary CLI-based Docker container management system with modern web interface. HomelabARR Enhanced makes deploying and managing self-hosted applications effortless with real Docker deployment capabilities and cross-platform compatibility.
๐ Live Demo | ๐ MVP Status: Ready for Testing
- โ Real Docker Deployment: Actual container deployment via CLI-based Docker integration
- โ Windows Compatibility: Bypasses docker-modem limitations with native CLI approach
- โ 90+ Working Applications: Pre-tested templates ready for deployment
- โ Cross-Platform Support: Works seamlessly on Windows, Linux, and macOS
- โ HomelabARR CLI Integration: Compatible with existing HomelabARR ecosystem
- โ CLI-Based Architecture: Reliable container management without socket limitations
- โ One-click Real Container Deployment - Deploy actual Docker containers
- โ CLI-Based Docker Management - Reliable cross-platform container operations
- โ Live Container Status - Real-time monitoring of deployed containers
- โ 90+ Application Templates - Pre-configured, tested application library
- โ Windows Docker Desktop Support - Full compatibility with Windows environments
- โ HomelabARR Ecosystem Integration - Works with existing HomelabARR CLI
- โ Modern React Interface - Beautiful, responsive web UI
- โ Container Health Monitoring - Health checks and status tracking
- Frontend: React + TypeScript + Vite for modern UI experience
- Backend: Node.js with CLI-based Docker integration for reliable deployments
- CLI Bridge: Custom Docker CLI wrapper that bypasses socket compatibility issues
- Template Engine: 90+ pre-configured application templates
- Health Monitor: Real-time container status and health checking
Our enhanced architecture uses Docker CLI commands instead of socket connections to solve:
- โ Windows named pipe compatibility issues
- โ Docker Desktop permission complexities
- โ Cross-platform socket access limitations
- โ Reliable container deployment across all environments
- Docker Desktop (Windows) or Docker Engine (Linux/macOS)
- Node.js 18+ (for development)
- Git (for cloning repository)
# Quick deployment using pre-built images
git clone https://github.com/smashingtags/homelabarr.git
cd homelabarr
docker compose -f homelabarr.yml up -d
Access at: http://localhost:8087
(Frontend) | Backend API: http://localhost:3009
# Development with live reload
git clone https://github.com/smashingtags/homelabarr.git
cd homelabarr
npm install
npm run dev
# Run the enhanced standalone version
docker run -d \
--name homelabarr-enhanced \
-p 8081:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/smashingtags/homelabarr-mount-enhanced:latest
# Integration with existing HomelabARR CLI
cd /opt/dockserver/apps/addons
sudo docker compose -f mount-enhanced.yml up -d
services:
frontend:
image: ghcr.io/smashingtags/homelabarr-frontend:latest
container_name: homelabarr-frontend
restart: unless-stopped
ports:
- "8087:80"
networks:
- homelabarr
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://homelabarr-frontend/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
backend:
image: ghcr.io/smashingtags/homelabarr-backend:latest
container_name: homelabarr-backend
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=3001
- CORS_ORIGIN=*
- DOCKER_SOCKET=/var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "3009:3001"
networks:
- homelabarr
group_add:
- "${DOCKER_GID:-994}"
privileged: true
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://homelabarr-backend:3001/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
homelabarr:
name: homelabarr
# Docker Configuration
DOCKER_GID=999 # Docker group ID (auto-detected)
NODE_ENV=production # Environment mode
CORS_ORIGIN=* # CORS configuration
# Port Configuration
FRONTEND_PORT=8087 # Frontend web interface
BACKEND_PORT=3009 # Backend API port
# Authentication (Optional)
AUTH_ENABLED=false # Enable/disable authentication
DEFAULT_ADMIN_PASSWORD=admin # Default admin password
- Direct port mapping for easy access
- CLI-based Docker deployment
- Perfect for standalone installations
- No reverse proxy required
- Full integration with existing HomelabARR ecosystem
- Traefik reverse proxy support
- Authelia authentication middleware
- SSL/TLS with Let's Encrypt certificates
- Live reload for frontend development
- Debug logging enabled
- Hot module replacement
- Development API endpoints
- Traefik - Reverse Proxy with SSL
- Homepage - Application Dashboard
- Portainer - Docker Management
- Dockge - Docker Compose Manager
- Fenrus - Modern Dashboard
- Heimdall - Application Portal
- Plex - Media Server
- Jellyfin - Open Source Media Server
- Emby - Media Server
- Overseerr - Media Request Management
- Tautulli - Plex Analytics
- Kometa - Media Collection Manager
- qBittorrent - Torrent Client
- SABnzbd - Usenet Downloader
- NZBGet - Usenet Client
- Deluge - BitTorrent Client
- Sonarr - TV Series Management
- Radarr - Movie Management
- Lidarr - Music Management
- Readarr - Book Management
- Prowlarr - Indexer Manager
- Bazarr - Subtitle Management
- Grafana - Analytics & Monitoring
- Prometheus - Metrics Collection
- Uptime Kuma - Status Monitoring
- Netdata - Performance Monitoring
- Glances - System Monitoring
- Authelia - Authentication Server
- Authentik - Identity Provider
- Vaultwarden - Password Manager
- AdGuard Home - DNS & Ad Blocking
- Nextcloud - File Sharing & Sync
- Paperless-ngx - Document Management
- Immich - Photo Management
- Syncthing - File Synchronization
- Duplicati - Backup Solution
- Gitea - Git Repository Server
- IT-Tools - Developer Utilities
- Cloud Commander - File Manager
- Code Server - VS Code in Browser
- Matrix - Decentralized Chat
- Rocket.Chat - Team Communication
- Mattermost - Team Collaboration
Deploy containers using CLI-based Docker approach
{
"appId": "plex",
"config": {
"ports": {"32400": "32400"},
"volumes": {"/config": "/opt/appdata/plex"}
},
"mode": "standard"
}
Get real-time container status via Docker CLI
[
{
"id": "homelabarr-plex-12345",
"name": "plex",
"status": "running",
"ports": ["32400:32400"],
"uptime": "2 hours"
}
]
List all available application templates
[
{
"id": "plex",
"name": "Plex Media Server",
"category": "media",
"description": "Stream your media collection",
"verified": true
}
]
# Start the application
docker compose -f homelabarr.yml up -d
# Access frontend
curl http://localhost:8087
# Test backend API
curl http://localhost:3009/health
# Deploy a test application via API
curl -X POST http://localhost:3009/api/deploy \
-H "Content-Type: application/json" \
-d '{"appId": "it-tools", "config": {}, "mode": "standard"}'
# Verify container is running
docker ps | grep it-tools
# Test with existing containers
docker ps
curl http://localhost:3009/api/containers
- โ 90+ Working Templates: Extensively tested application library
- โ Real Docker Deployment: Actual container deployment capabilities
- โ Windows Compatibility: Full Docker Desktop support
- โ CLI-Based Reliability: No socket compatibility issues
- โ HomelabARR Integration: Seamless ecosystem compatibility
- โ Production Ready: Stable, tested, and documented
# Ensure Docker Desktop is running
docker --version
# Check Docker daemon status
docker info
# Test Docker CLI access
docker ps
# Check backend logs
docker logs homelabarr-backend
# Verify Docker socket access
docker exec homelabarr-backend docker ps
# Test CLI deployment manually
docker run -d --name test-container nginx:latest
# Check port usage
netstat -an | findstr :8087
netstat -an | findstr :3009
# Modify port configuration
FRONTEND_PORT=8088 BACKEND_PORT=3010 docker compose up -d
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
- CLI-based Docker deployment
- 90+ application templates
- Cross-platform compatibility
- Basic container management
- Advanced container orchestration
- Volume management interface
- Backup and restore functionality
- Performance monitoring dashboard
- Multi-host deployment
- Role-based access control
- Advanced networking configuration
- Enterprise authentication integration
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Community Chat: Discord Server
- ๐ Documentation: Project Wiki
- ๐ค Contributions: Contributing Guide
This project is licensed under the MIT License - see the LICENSE file for details.
- Docker - Containerization platform
- React - Frontend framework
- Node.js - Backend runtime
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS - Styling framework
- HomelabARR CLI - Integration foundation
- Servarr Community - Application templates
- Homelab Community - Testing and feedback
- Self-Hosted Community - Application ecosystem
Status: โ MVP Ready | Last Updated: August 2025 | Version: 2.0.0-enhanced