This project provides a local development environment with essential services for building and testing modern web applications. It includes a variety of databases, caching solutions, search capabilities, object storage, and email testing tools, all containerized for easy setup.
- MongoDB for flexible, document-based data storage
- PostgreSQL for robust relational database needs
- Redis for high-performance caching and real-time data processing
- Elasticsearch for powerful full-text search and analytics
- MinIO for S3-compatible object storage
- MailHog for testing email functionality in a sandboxed environment
- Nginx Proxy Manager for managing Nginx proxies
- NocoDB for managing and sharing databases
- Airflow for managing workflows and tasks
All services are pre-configured with Docker Compose, allowing developers to quickly spin up a complete development stack with a single command. This setup ensures consistency across different development environments and simplifies the process of onboarding new team members.
- Docker
- Docker Compose
- Make (optional, for using Makefile commands)
This project uses several services, all containerized using Docker:
-
MongoDB: NoSQL database
- Default port: 27017
-
PostgreSQL: Relational database
- Default port: 5432
-
Redis: In-memory data structure store
- Default port: 6379
-
Elasticsearch: Search and analytics engine
- Default port: 9200
-
MinIO: Object storage
- API port: 9000
- Console port: 9001
-
MailHog: Email testing tool
- SMTP port: 1025
- Web interface port: 8025
-
Nginx Proxy Manager: Reverse proxy and SSL management
- HTTP port: 80
- HTTPS port: 443
- Admin interface port: 81
-
NocoDB: No-code database platform
- Web interface port: 8080
-
Airflow: Workflow management platform
- Default port: Not exposed (accessed through Nginx Proxy Manager)
Each service is configured with environment variables and volumes for data persistence. Refer to the docker-compose.yml
file for detailed configuration.
To start all services:
make up
To stop all services:
make down
To view logs:
make logs
To access the MinIO console:
http://localhost:9001
To access the MailHog web interface:
http://localhost:8025
For more details on each service, refer to their respective documentation:
This project is licensed under the MIT License. See the LICENSE file for more details.