Docker-Based Local Development Environment for Modern LAMP and MEAN Stacks
Stackvo is a Docker-based, fully customizable and modular development environment management system for your modern web development projects. With its pure Bash generator system, you can manage 40+ services with a single command.
- π³ 40+ Ready Services - MySQL, PostgreSQL, MongoDB, Redis, RabbitMQ and more
- π Multi-Language Support - PHP, Node.js, Python, Go, Ruby, Rust (6 languages)
- π§ 3 Web Server Options - Nginx, Apache, Caddy
- π― Pure Bash Generator - Bash 3.x+ compatible, macOS and Linux support
- π Traefik Reverse Proxy - Automatic SSL/TLS, routing and load balancing
- π¨ Modern Web UI - Real-time monitoring with Vue.js 3 + Vuetify 3
- π¦ Single Network Architecture - All services on stackvo-net
- π Modular Structure - Easily enable/disable services via .env
- π Dynamic Configuration - Automatic Docker Compose and Traefik routing
- β‘ Zero-Config - Works immediately with default settings
System Requirements:
- Docker: 20.10+ (Docker Desktop on macOS/Windows, Docker Engine on Linux)
- Docker Compose: 2.0+ (v2 plugin format -
docker composenotdocker-compose) - Bash: 3.2+ (pre-installed on macOS and Linux, use WSL2 or Git Bash on Windows)
- RAM: 4GB minimum, 8GB+ recommended
- Disk Space: 10GB+ free space
Supported Operating Systems:
- β macOS 10.15+ (Catalina or later) - Intel & Apple Silicon
- β Linux - Ubuntu 20.04+, Debian 11+, Fedora 35+, Arch Linux
- β Windows 10/11 with WSL2 (Ubuntu 20.04+ in WSL)
Not Supported:
- β Native Windows (without WSL2)
- β macOS < 10.15
- β Docker Compose v1 (deprecated)
Step 1: Clone and Setup
# Clone the repository
git clone https://github.com/stackvo/stackvo.git
cd stackvo
# Copy environment file
cp .env.example .envStep 2: Install CLI
# Install Stackvo CLI globally
./stackvo.sh install
# Verify installation
stackvo --helpStep 3: Generate Configuration
# Generate all configurations
stackvo generate
# This will create:
# - generated/stackvo.yml (Traefik + UI)
# - generated/docker-compose.dynamic.yml (Services)
# - generated/docker-compose.projects.yml (Projects)Step 4: Start Services
# Start core services (Traefik + UI)
stackvo up
# Wait for services to start (~30 seconds)
# Check status
stackvo psStep 5: Configure Hosts File
# Add Stackvo UI domain to hosts file
echo "127.0.0.1 stackvo.loc" | sudo tee -a /etc/hostsStep 6: Access Web UI
Open your browser and visit: https://stackvo.loc
Note: You'll see a SSL warning because we use self-signed certificates in development. Click "Advanced" β "Proceed to site" to continue.
# Create project folder
mkdir -p projects/myproject/public
# Create stackvo.json file
cat > projects/myproject/stackvo.json <<'EOF'
{
"name": "myproject",
"domain": "myproject.loc",
"php": {
"version": "8.2",
"extensions": ["pdo", "pdo_mysql", "mbstring"]
},
"server": "nginx",
"document_root": "public"
}
EOF
# Create test file
echo "<?php phpinfo();" > projects/myproject/public/index.php
# Regenerate configuration
./stackvo.sh generate
# Restart services
./stackvo.sh restart
# Add to hosts file
echo "127.0.0.1 myproject.loc" | sudo tee -a /etc/hosts
# Open in browser: https://myproject.loc# Installation and Configuration
./stackvo.sh install # Install CLI to system
./stackvo.sh generate # Generate all configurations
./stackvo.sh generate projects # Generate only projects
./stackvo.sh generate services # Generate only services
# Container Management
./stackvo.sh up # Start core services (minimal)
./stackvo.sh up --all # Start all services and projects
./stackvo.sh up --services # Start core + all services
./stackvo.sh up --projects # Start core + all projects
./stackvo.sh up --profile mysql # Start core + MySQL
./stackvo.sh down # Stop all services
./stackvo.sh restart # Restart all services
./stackvo.sh ps # List running services
# Logs and Others
./stackvo.sh logs # Watch all logs
./stackvo.sh logs mysql # Watch specific service log
./stackvo.sh pull # Pull Docker images
./stackvo.sh uninstall # Uninstall StackvoNote: After running
./stackvo.sh install, you can usestackvocommand directly from anywhere:stackvo up stackvo generate stackvo logs
| Category | Count | Services |
|---|---|---|
| Databases | 5 | MySQL, MariaDB, PostgreSQL, MongoDB, Cassandra |
| Cache Systems | 2 | Redis, Memcached |
| Message Queues | 2 | RabbitMQ, Kafka |
| Search & Indexing | 2 | Elasticsearch, Kibana |
| Monitoring | 1 | Grafana |
| Developer Tools | 2 | MailHog, Blackfire |
Total 14 services β’ For details: Services Documentation
Stackvo provides a modern web interface built with Vue.js 3 and Vuetify 3:
- Real-time Monitoring - CPU, Memory, Storage, Network
- Services Management - Start/Stop/Restart, Port mappings, Logs
- Projects Management - Create, delete, configure projects
- Tools Access - Adminer, PhpMyAdmin, RabbitMQ UI and more
Access: https://stackvo.loc
Dashboard |
Projects List |
Project Detail |
New Project |
Services List |
Service Detail |
Visit the docs directory for detailed documentation:
- Getting Started - Introduction to Stackvo and core concepts
- Installation - Detailed installation guide
- Quick Start - Create your first project
- Configuration - .env and stackvo.json settings
- CLI Reference - All CLI commands
- Services - All supported services
- Architecture - System architecture and design
- Troubleshooting - Common issues
Stackvo is an open source project and we welcome your contributions!
For detailed contribution guidelines, including coding standards, commit message format, and changelog generation workflow, see the Contributing Guide.
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push your branch (
git push origin feature/amazing-feature) - Create a Pull Request
This project is licensed under the MIT License. See LICENSE.md for details.
- Documentation: stackvo.github.io/stackvo
- GitHub: github.com/stackvo/stackvo
- Issues: github.com/stackvo/stackvo/issues
- Discussions: github.com/stackvo/stackvo/discussions
- Changelog: CHANGELOG.md
For questions or issues:
- π Check the Documentation pages
- π Open an Issue
- π¬ Ask questions in Discussions
- π§ Read the Support Guide





