Skip to main content

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}
  • 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