Entorno Docker
Para facilitar el desarrollo local, el repositorio (apolo-app-platcom-platform) incluye un archivo docker-compose.yaml en la raíz del repositorio que levanta las dependencias principales:
- MongoDB
- Redis
- Kafka (Redpanda)
- Redpanda Console (UI web para inspeccionar tópicos y mensajes)
Servicios por defecto
De forma resumida, Docker levanta:
- MongoDB:
localhost:${MONGO_PORT:-27017} - Redis:
localhost:${REDIS_PORT:-6379} - Kafka (Redpanda):
- Acceso externo (host):
localhost:${KAFKA_PORT:-9092} - Acceso interno (entre contenedores):
redpanda:${KAFKA_INTERNAL_PORT:-29092}
- Acceso externo (host):
- Redpanda Console:
http://localhost:${CONSOLE_PORT:-8080}
Los puertos pueden ajustarse mediante variables de entorno en el archivo
.env(ver sección más abajo).
Iniciar y detener servicios
# Iniciar todos los servicios en modo detached
docker compose up -d
# Ver logs
docker compose logs -f
# Detener servicios
docker compose down
# Detener y eliminar volúmenes
docker compose down -v
Entorno Alternativo
También existe .seki/.local/compose.yaml:
docker compose -f .seki/.local/compose.yaml up -d
Conectarse a los Servicios
MongoDB:
# Usando mongosh
mongosh mongodb://localhost:27017
# Usando MongoDB Compass
mongodb://localhost:27017
Redis:
# Usando redis-cli
redis-cli -h localhost -p 6379
Kafka (Redpanda)
Broker Kafka (acceso externo):
localhost:${KAFKA_PORT:-9092}
Broker Kafka (acceso interno entre contenedores):
redpanda:${KAFKA_INTERNAL_PORT:-29092}
Redpanda Console (UI Web):
# Desde el navegador
http://localhost:${CONSOLE_PORT:-8080}
Desde la consola puedes:
- Ver tópicos
- Inspeccionar mensajes
- Revisar consumidores y offsets
- Validar el estado del clúster
Variables de Entorno
Crea un archivo .env en la raíz para personalizar puertos:
# MongoDB
MONGO_PORT=27017
# Redis
REDIS_PORT=6379
# Kafka / Redpanda
KAFKA_PORT=9092
KAFKA_INTERNAL_PORT=29092
# Redpanda Console
CONSOLE_PORT=8080