PLift¶
PLift is a development stack orchestration tool that manages multi-service environments using Docker Compose and Salt Stack.
Features¶
- 13 Services: MySQL, PostgreSQL, Redis, Kafka, RabbitMQ, Vault, Elasticsearch, and more
- 7 Tools: Prometheus, Grafana, Portainer, DBeaver, cAdvisor, Alloy, Redis Insight
- 4 Frameworks: Laravel, Django, Node.js, Java/Spring Boot
- Full Observability: Metrics, logs, and distributed tracing out of the box
- Auto-Generated Configs: Salt Stack generates Docker Compose files from YAML configuration
- SSL/TLS: Automatic certificate generation with mkcert
Quick Start¶
Prerequisites¶
- Docker and Docker Compose
- Make
- Bash
Installation¶
# Clone the repository
git clone https://github.com/vlebo/plift.git
cd plift
# Copy environment file
cp .env.example .env
# Initialize everything
./plift init
Or step by step:
./plift build-salt # Build Salt container
./plift generate-base # Generate base configs
./plift start-base # Start Salt container
./plift generate-all # Generate all configs
./plift start-stack # Start everything
./plift status # Check status
Install Hosts File¶
Access Services¶
| Service | URL | Credentials |
|---|---|---|
| Grafana | https://grafana.plift.local | admin/admin |
| Prometheus | https://prometheus.plift.local | - |
| Portainer | https://portainer.plift.local | S3cret |
| DBeaver | https://dbeaver.plift.local | plift/S3cret |
| Your Apps | https://example-laravel.plift.local | - |

Services¶
| Service | Port | Description |
|---|---|---|
| HAProxy | 80, 443 | Load balancer & SSL |
| MySQL | 3307 | Database |
| PostgreSQL | 5433 | Database |
| Redis | - | Cache |
| RabbitMQ | 15672 | Message broker |
| Kafka | 29092 | Event streaming |
| Vault | 8200 | Secrets |
| Tempo | 3200 | Tracing |
| Loki | 3100 | Logs |
Tools¶
| Tool | Port | Description |
|---|---|---|
| Prometheus | 9090 | Metrics |
| Grafana | 3000 | Dashboards |
| cAdvisor | 8080 | Container metrics |
| Portainer | 8001 | Docker management |
| DBeaver | 8978 | Database admin |
Example Applications¶
| Application | Framework |
|---|---|
| example-laravel | PHP/Laravel |
| example-django | Python/Django |
| example-nodejs | Node.js |
| example-java | Java/Spring Boot |
Learn how to add your own apps →
Documentation¶
- Architecture - System diagrams and data flow
- Services - Database, cache, and message queue services
- Tools - Monitoring and administration tools
- CLI Reference - All available commands
- Configuration - Managing services and apps
- Database Management - Users, permissions, migrations
- Monitoring - Metrics, logs, and traces
- Adding Applications - Add your own apps
- Troubleshooting - Common issues and solutions
License¶
This project is licensed under the MIT License.