Skip to content

Latest commit

Β 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ StackVo

Docker-Based Local Development Environment for Modern LAMP and MEAN Stacks

Status Release GitHub Issues GitHub Closed Issues GitHub Pull Requests GitHub Contributors Security License

Docker Bash Traefik

πŸ‡¬πŸ‡§ English | πŸ‡ΉπŸ‡· TΓΌrkΓ§e

πŸ“– About

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.

✨ Key Features

  • 🐳 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

πŸš€ Quick Start

Requirements

System Requirements:

  • Docker: 20.10+ (Docker Desktop on macOS/Windows, Docker Engine on Linux)
  • Docker Compose: 2.0+ (v2 plugin format - docker compose not docker-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)

Installation

Step 1: Clone and Setup

# Clone the repository
git clone https://github.com/stackvo/stackvo.git
cd stackvo

# Copy environment file
cp .env.example .env

Step 2: Install CLI

# Install Stackvo CLI globally
./stackvo.sh install

# Verify installation
stackvo --help

Step 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 ps

Step 5: Configure Hosts File

# Add Stackvo UI domain to hosts file
echo "127.0.0.1  stackvo.loc" | sudo tee -a /etc/hosts

Step 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 Your First Project

# 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

πŸ“š Basic Commands

# 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 Stackvo

Note: After running ./stackvo.sh install, you can use stackvo command directly from anywhere:

stackvo up
stackvo generate
stackvo logs

πŸ› οΈ Supported Services

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


🎨 Web UI Dashboard

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

πŸ“Έ Screenshots

Dashboard

Dashboard

Projects List

Projects List

Project Detail

Project Detail

New Project

New Project

Services List

Services List

Service Detail

Service Detail


πŸ“– Documentation

Visit the docs directory for detailed documentation:


🀝 Contributing

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.

Quick Contribution Steps

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push your branch (git push origin feature/amazing-feature)
  5. Create a Pull Request

πŸ“ License

This project is licensed under the MIT License. See LICENSE.md for details.


πŸ”— Links


πŸ’¬ Support

For questions or issues:


About

A Docker environment offering modern LAMP and MEAN stacks for local development.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages