https://github.com/siveing/mac_development
https://github.com/siveing/mac_development
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/siveing/mac_development
- Owner: siveing
- Created: 2025-05-01T14:37:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-13T14:57:04.000Z (about 1 year ago)
- Last Synced: 2025-12-28T03:16:06.998Z (7 months ago)
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker Compose Setup
This Docker Compose configuration sets up a multi-service environment including databases, messaging systems, and utilities for development.
## Services
### PostgreSQL
- **Image**: postgres:15
- **Container Name**: postgres
- **Port**: 5432
- **Environment**:
- User: siveing
- Database: siveing_db
- **Volume**: postgres_data
- **Description**: A PostgreSQL database instance for relational data storage.
### MySQL
- **Image**: mysql:8.0
- **Container Name**: mysql
- **Port**: 3306
- **Environment**:
- Root Password: [Set in docker-compose.yml]
- Database: siveing_db
- User: siveing
- **Volume**: mysql_data
- **Description**: A MySQL database instance for relational data storage.
### phpMyAdmin
- **Image**: phpmyadmin/phpmyadmin
- **Container Name**: phpmyadmin
- **Port**: 6801 (maps to 80 internally)
- **Environment**:
- Host: mysql
- Port: 3306
- User: root
- **Description**: Web-based interface for managing MySQL databases.
### MongoDB
- **Image**: mongo:6.0
- **Container Name**: mongodb
- **Port**: 27017
- **Environment**:
- Root Username: siveing
- **Volume**: mongodb_data
- **Description**: A NoSQL MongoDB instance for document-based data storage.
### Redis
- **Image**: redis:7.0
- **Container Name**: redis
- **Port**: 6379
- **Description**: In-memory data store used as a cache or message broker.
### Kafka
- **Image**: confluentinc/cp-kafka:7.2.2
- **Container Name**: kafka
- **Ports**: 9092, 29092
- **Depends On**: zookeeper
- **Environment**:
- Broker ID: 1
- Zookeeper Connect: zookeeper:2181
- Advertised Listeners: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
- **Description**: Distributed streaming platform for handling large-scale data streams.
### Zookeeper
- **Image**: confluentinc/cp-zookeeper:7.2.2
- **Container Name**: zookeeper
- **Port**: 2181
- **Environment**:
- Client Port: 2181
- **Description**: Centralized service for maintaining configuration information for Kafka.
### Kafka UI
- **Image**: provectuslabs/kafka-ui:latest
- **Container Name**: kafka-ui
- **Port**: 8080
- **Environment**:
- Cluster Name: local
- Bootstrap Servers: kafka:29092
- Zookeeper: zookeeper:2181
- **Description**: Web-based UI for managing and monitoring Kafka clusters.
### Mailhog
- **Image**: mailhog/mailhog
- **Container Name**: mailhog
- **Ports**:
- SMTP: 1025
- Web UI: 6802 (maps to 8025 internally)
- **Description**: Email testing tool with a web interface for capturing and viewing emails.
### RabbitMQ
- **Image**: rabbitmq:3-management
- **Container Name**: rabbitmq
- **Ports**:
- AMQP: 5672
- Management UI: 15672
- **Environment**:
- Default User: admin
- **Volume**: rabbitmq_data
- **Description**: Message broker for handling asynchronous messaging.
## Volumes
- **postgres_data**: Persistent storage for PostgreSQL data.
- **mysql_data**: Persistent storage for MySQL data.
- **mongodb_data**: Persistent storage for MongoDB data.
- **rabbitmq_data**: Persistent storage for RabbitMQ data.
## Usage
1. Ensure Docker and Docker Compose are installed.
2. Create a \`.env\` file or directly set environment variables for sensitive data (e.g., passwords).
3. Run \`docker-compose up -d\` to start all services in detached mode.
4. Access services via their respective ports (e.g., http://localhost:6801 for phpMyAdmin, http://localhost:8080 for Kafka UI).
## Notes
- Replace asterisks (\`*******\`) in the docker-compose.yml with secure passwords.
- All services are configured to restart automatically (\`restart: always\`).
- Ensure ports do not conflict with other applications running on the host.