We've all been there. You start a new project, need a database, maybe some Redis, perhaps Kafka for that microservices architecture you're building. What follows is:
- π Google "docker compose postgresql"
- π Copy some random compose file
- π§ Modify it for your needs
- β Port 5432 is already in use
- π€ Repeat for every service you need
What if there was a better way?
I built infra-tools - a CLI that gives you enterprise-grade services with zero configuration.
npm install -g infra-tools infra-tools databases # PostgreSQL, MySQL, MongoDB, Redis running infra-tools status # Beautiful status dashboard
π Quick Start
# Start all databases infra-tools databases # Start messaging services infra-tools messaging # Check what's running infra-tools status # Follow service logs infra-tools logs postgres -f # Interactive configuration infra-tools config redis
π― What's Included?
15+ Production-Ready Services:
Category | Services |
---|---|
Databases | PostgreSQL, MySQL, MongoDB, Redis, SQL Server, Neo4j, CouchDB |
Messaging | Kafka, Zookeeper, RabbitMQ |
Observability | Elasticsearch, Logstash, Kibana, Prometheus, Grafana |
Gateway | Kong API Gateway + Admin UI |
All services use latest stable versions with security updates and performance improvements.
π§ Smart Configuration
The interactive config system lets you customize anything:
infra-tools config postgres
? PostgreSQL Image: postgres:17-alpine ? Port: 5432 ? Password: ******** ? Database Name: myapp ? Custom Environment Variables? (Y/n)
Changes are saved and reused across restarts.
π¨ Beautiful Status Dashboard
infra-tools status
βββββββββββββββ¬βββββββββββ¬ββββββββββββββ¬ββββββββββββββββββ β SERVICE β STATUS β PORTS β HEALTH β βββββββββββββββΌβββββββββββΌββββββββββββββΌββββββββββββββββββ€ β postgres β β
Running β 5432 β π’ Healthy β β redis β β
Running β 6379 β π’ Healthy β β kafka β β
Running β 9092 β π’ Healthy β β grafana β β
Running β 3000 β π’ Healthy β βββββββββββββββ΄βββββββββββ΄ββββββββββββββ΄ββββββββββββββββββ
π‘οΈ Production-Ready Features
- Health Checks: Every service has proper health monitoring
- Port Conflict Detection: Smart port assignment
- Volume Management: Persistent data with easy backup
- Cross-Platform: Windows, macOS, Linux support
- Resource Limits: Proper CPU/memory constraints
π Debugging Made Easy
# Check environment variables infra-tools vars postgres # Interactive shell access infra-tools shell redis # View port mappings infra-tools ports # Execute commands infra-tools exec postgres psql -U postgres
π‘ Real-World Use Cases
Microservices Development:
infra-tools databases messaging monitoring # Full stack running in ~30 seconds
Data Engineering:
infra-tools kafka elasticsearch # Perfect for streaming pipelines
Full-Stack Applications:
infra-tools # Everything you need
π Why I Built This
After years of:
- β Copying docker-compose files between projects
- β Fighting port conflicts
- β Inconsistent team environments
- β "Works on my machine" syndrome
I wanted one command that gives you everything you need for modern development.
π― Get Started
npm install -g infra-tools infra-tools --help
Links:
- π GitHub Repository
- π¦ NPM Package
- π Full Documentation
What services would you want to see added next? Let me know in the comments! π
P.S. If this saves you time, a β on GitHub would mean the world to me!
Top comments (0)