English | Русский
A comprehensive development environment using Docker Compose. Includes all necessary services for full-fledged development.
-
Databases:
- PostgreSQL
- MongoDB
- Microsoft SQL Server
- Redis
- MinIO (S3-compatible storage)
-
Message Brokers:
- RabbitMQ
- Apache Kafka with Zookeeper
-
Development Tools:
- Nginx with custom error pages
- GitLab
- SonarQube
- TeamCity
- n8n (Workflow automation)
- Seq (Structured logging)
DockerComposeDev/
├── gitlab/ # GitLab configuration
├── kafka/ # Kafka and Zookeeper
├── minio/ # MinIO object storage
├── mongoDb/ # MongoDB database
├── mssql/ # Microsoft SQL Server
├── n8n/ # Workflow automation
├── nginx/ # Nginx web server
├── postgresql/ # PostgreSQL database
├── rabbitMq/ # RabbitMQ message broker
├── redis/ # Redis key-value store
├── seq/ # Seq logging server
├── sonarqube/ # Code quality analysis
└── teamcity/ # TeamCity CI/CD server
- Docker Engine (v20.10+)
- Docker Compose (v2.0+)
- Minimum 8GB RAM (16GB recommended)
- At least 20GB free disk space
-
Clone the repository:
git clone <repository-url> cd DockerComposeDev
-
Create Docker network:
docker network create common-net
-
Start all services:
docker-compose -f docker-compose.yml up -d
-
Access the services:
- Nginx: http://localhost
- GitLab: http://gitlab.dev.lan
- SonarQube: http://sonarqube.dev.lan
- TeamCity: http://teamcity.dev.lan
- n8n: http://n8n.dev.lan
- MinIO Console: http://minio.dev.lan:9001
- Seq: http://seq.dev.lan:5341
Each service has its own .env file for configuration:
cp nginx/.env.example nginx/.env
cp postgresql/.env.example postgresql/.env
# And so on for each serviceAdd to your /etc/hosts file:
127.0.0.1 gitlab.dev.lan
127.0.0.1 sonarqube.dev.lan
127.0.0.1 teamcity.dev.lan
127.0.0.1 n8n.dev.lan
127.0.0.1 minio.dev.lan
127.0.0.1 seq.dev.lan
127.0.0.1 rabbitmq.dev.lan
- Port: 80, 443
- Custom error pages
- Reverse proxy configuration
- Port: 5432
- Default credentials: dev/dev
- Port: 27017
- Default credentials: dev/dev
- Web Interface: http://rabbitmq.dev.lan:15672
- Default credentials: guest/guest
- Port: 9092
- Zookeeper port: 2181
- Change default credentials
- Limit open ports in production
- Enable authentication for all services
- Use HTTPS in production
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
Made with ❤️ for developers

