Este repositorio contiene configuraciones Docker Compose para ejecutar servicios de desarrollo local de forma rápida y sencilla.
💡 Recomendación: Se recomienda usar Podman como alternativa más segura a Docker. Podman es compatible con Docker Compose y no requiere privilegios de administrador. Todos los comandos
docker-composefuncionan directamente conpodman-compose.
- LocalStack - Simulador de servicios AWS (Puerto: 4566)
- RabbitMQ - Message broker con interfaz de gestión (Puertos: 5672, 15672)
- Redis - Base de datos en memoria (Puerto: 6379)
- SonarQube - Análisis de código con PostgreSQL (Puerto: 9000)
- MySQL - Base de datos relacional para desarrollo (Puerto: 3306)
Desde la raíz del proyecto:
# Iniciar todos los servicios
docker-compose up -d# Detener todos los servicios
docker-compose down# Solo LocalStack
docker-compose up -d localstack
# Solo RabbitMQ y Redis
docker-compose up -d rabbitmq redis
# Solo SonarQube (incluye base de datos)
docker-compose up -d sonarqube sonar-db# LocalStack
cd localstack && docker-compose up -d
# LocalStack Pro
cd localstack-pro && docker-compose up -d
# RabbitMQ
cd rabbitmq && docker-compose up -d
# Redis
cd redis && docker-compose up -d
# SonarQube
cd sonar && docker-compose up -d# Detener (desde cada carpeta respectiva)
docker-compose down| Servicio | URL/Puerto | Credenciales |
|---|---|---|
| LocalStack | http://localhost:4566 | test/test |
| MySQL | localhost:3306 |
root/rootpassword, devuser/devpassword |
| RabbitMQ (Management) | http://localhost:15672 | guest/guest |
| RabbitMQ (AMQP) | localhost:5672 |
guest/guest |
| Redis | localhost:6379 |
Sin autenticación |
| SonarQube | http://localhost:9000 | admin/admin |
Puedes personalizar la configuración usando variables de entorno:
# Archivo .env (opcional)
DEBUG=1
SONAR_IMAGE=sonarqube:developer
LOCALSTACK_VOLUME_DIR=./custom-volume- Podman vs Docker: Los comandos mostrados usan
docker-compose, pero son totalmente compatibles conpodman-compose - Carpeta volume: Es necesario crear manualmente la carpeta
volumeen el directoriolocalstackantes de ejecutar el servicio - Persistencia: Los datos se mantienen en volúmenes Docker/Podman nombrados
- Networking: Todos los servicios están en la red
local-services - Credenciales: Las credenciales por defecto son para DESARROLLO únicamente
- Puertos: Asegúrate de que los puertos no estén ocupados por otros servicios
Para configurar y usar los servicios AWS localmente con LocalStack, consulta la documentación oficial:
- Documentación oficial: https://podman.io/
- Guía de instalación: https://podman.io/getting-started/installation
- Podman Compose: https://docs.podman.io/en/latest/markdown/podman-compose.1.html
- Migración desde Docker: https://podman.io/whatis.html
- Documentación oficial: https://aws.amazon.com/es/cli/
- Guía de instalación: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
- Configuración: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html
- Documentación oficial: https://docs.localstack.cloud/aws/
- Configuración de servicios: https://docs.localstack.cloud/references/configuration/
- Integración con AWS CLI: https://docs.localstack.cloud/integrations/aws-cli/
- Documentación oficial: https://www.rabbitmq.com/documentation.html
- Tutoriales paso a paso: https://www.rabbitmq.com/tutorials
- Guía de administración: https://www.rabbitmq.com/admin-guide.html
- Management Plugin: https://www.rabbitmq.com/management.html