plift_
Development stack orchestration. Spin up production-like environments with databases, caches, message brokers, and full observability stack in one command.
Docker Compose Salt Stack Linux / macOS / Windows MIT License
$ plift generate-all
[+] Generating configurations via Salt...
[+] Creating SSL certificates...
$ plift start-services
[+] Running 12/12
Container haproxy Started
Container postgresql Started
Container redis Started
Container rabbitmq Started
Container elasticsearch Started
Container kafka Started
$ plift start-tools
[+] Running 7/7
Container grafana Started
Container prometheus Started
Container portainer Started
$ plift start-apps
[+] Running 2/2
Container my-laravel-app Started
Container my-django-api Started
[+] Running database migrations
[+] Stack ready
$ plift get-config
# Everything you need for modern development
[multi-lang]
Polyglot Support
Run PHP, Python, Node.js, and Java/Spring applications side by side. Each framework gets pre-configured templates with hot reloading, proper dependencies, and environment settings out of the box. Many more to come.
[services]
20+ Pre-configured Services
MySQL, PostgreSQL, Redis, Memcached, RabbitMQ, Kafka, Elasticsearch, Vault - all ready to use. Add or remove services with a single command. Persistent storage included.
[observability]
Full Monitoring Stack
Prometheus metrics, Grafana dashboards, Loki logging, and Tempo/Jaeger distributed tracing. Pre-built dashboards for all applications. Debug microservices like a pro.
[ssl]
Automatic SSL
Local SSL certificates generated automatically via mkcert. HAProxy handles SSL termination and routing. Access everything via HTTPS just like production.
[yaml]
YAML Configuration
Define your entire stack in simple YAML files. Salt Stack generates Docker Compose files, Dockerfiles, app configs, and database schemas automatically. No manual configuration needed.
[db]
Database Management
Automatic user creation, permission management, and migration execution. CloudBeaver web UI for database administration.
[env]
Environment Parity
Production-like environment on your laptop. Same services, same networking, same configuration. Eliminate "works on my machine" problems. Share config with your team.
[cli]
50+ CLI Commands
Intuitive Makefile-based CLI. Start, stop, restart, logs, shell access, migrations, config regeneration - everything you need without remembering Docker commands.
$ plift list-services
# Available infrastructure services
[db] MySQL
Primary relational database with automatic user/db creation
[db] PostgreSQL
Advanced SQL database with extensions support
[cache] Redis
In-memory cache and message broker
[cache] Memcached
Distributed memory caching system
[mq] RabbitMQ
AMQP message broker with management UI
[mq] Kafka
Distributed event streaming platform
[search] Elasticsearch
Full-text search and analytics engine
[secrets] Vault
Secrets management and encryption
[lb] HAProxy
Load balancer with SSL termination
[coord] Zookeeper
Distributed coordination for Kafka
$ plift list-available
# Supported application frameworks with pre-configured templates
Laravel
PHP / Nginx / Composer
Django
Python / Gunicorn / pip
Node.js
Express / Fastify / npm
Spring Boot
Java / Maven / Gradle
$ plift list-tools
# Complete observability stack included
Grafana
Dashboards & visualization
Prometheus
Metrics collection
Loki
Log aggregation
Tempo
Distributed tracing
Jaeger
Trace visualization
Alloy
Telemetry collection
cAdvisor
Container metrics
Portainer
Container management
# Pre-built Grafana dashboards: Metrics, Logs, Traces, Infrastructure
$ cat architecture.md
# How plift works under the hood
plift CLI
Salt Stack
Configuration generation via Jinja2 templates
Docker Compose
Dockerfiles
App Configs
SSL Certs
Docker Engine
Services
Tools
Applications
$ plift help
PLift - Development Stack Orchestrator --------------------------------------------- Usage: plift <command> [options] Build build-tools Build tools or t=tool_name build-apps Build apps or a=app_name Management add-service Enable service s=service_name remove-service Disable service s=service_name add-tool Enable tool t=tool_name remove-tool Disable tool t=tool_name Configuration generate-all Generate all configuration files generate Generate configs c=default,tools,services get-config Get config VAL=<value> OUT=yaml/json Stack Control start-base Start base containers (Salt) start-services Start services or s=service_name start-tools Start tools or t=tool_name start-apps Start apps or a=app_name stop-services Stop services stop-tools Stop tools stop-apps Stop apps migrate-databases Run database migrations Info list-services List enabled services list-tools List enabled tools list-available List all available services/tools show-info Show status, hosts, credentials status Container status Docker logs Show logs c=<name> attach Shell into container c=<name> prune Clean up images generate-traffic Generate test traffic
$ cat README.md
# How it works
1
Configure environment
Set LOCAL_DOMAIN in .env file. This generates all service URLs, SSL certificates, and HAProxy routes.
2
Generate configurations
Salt Stack generates Docker Compose files, application configs, HAProxy routes, Prometheus targets, Grafana dashboards, and SSL certificates.
3
Define your apps
Edit configs/apps/init.sls to add applications. Specify framework (Laravel, Django, Node.js, Java), database, and custom settings.
4
Start the stack
Run plift start-stack to start services, tools, and applications. Access via https://your-app.plift.local.
$ cat README.md
# Prerequisites and installation
# requirements
docker and docker-compose make
# clone and setup
git clone https://github.com/vlebo/plift.git cd plift cp .env.example .env # edit .env and set LOCAL_DOMAIN=your.domain
# initialize and start everything
plift init
$ plift show-info
# Default service URLs
URL SERVICE
grafana.plift.local Dashboards
prometheus.plift.local Metrics
portainer.plift.local Container UI
dbeaver.plift.local Database UI
rabbitmq.plift.local RabbitMQ UI
redis.plift.local Redis Insight
jaeger.plift.local Tracing UI
vault.plift.local Secrets UI