Ctrl K
ComunidadGuías…

docker-compose.dev.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Dev stack = the production stack (docker-compose.yml) + this overlay: the same images, entrypoints, env contract,
# volumes, Caddy routing and supervisor as a real install. This file only adds loopback-only ports and a debugger.
# Always run it through docker/dev.env, which names the project mdmesh-dev, lists both compose files and holds the
# dev-only values:
#   docker compose --env-file docker/dev.env up -d --build     # build + start
#   scripts/dev-seed.sh                                         # first run: seed the DB (login admin / admin)
# Console http://localhost:8088 · API http://localhost:8080 · Postgres localhost:5432 · JDWP localhost:5005
# A port is taken? Export DEV_WEB_PORT / DEV_API_PORT / DEV_PG_PORT / DEV_DEBUG_PORT first. The full loop: docs/DEV.md.

# Guard: without docker/dev.env, `up` and `config` stop here. That file pins the project name; without it, the .env
# that setup.sh writes (COMPOSE_PROJECT_NAME=mdmesh) would point this overlay at a production stack's containers and
# database volume. The guard does NOT stop `down -v`, `stop`, `rm`, `exec`, `logs` or `ps` (compose does not
# interpolate this for them), so those act on whatever project .env names: always pass --env-file docker/dev.env.
x-dev-env: ${MDMESH_DEV:?run the dev stack with --env-file docker/dev.env (see docs/DEV.md)}

services:
  postgres:
    ports:
      - "127.0.0.1:${DEV_PG_PORT:-5432}:5432"

  server:
    environment:
      # IDE attach; suspend=n so boot never waits for a debugger. catalina.sh reads CATALINA_OPTS.
      CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
    ports:
      - "127.0.0.1:${DEV_API_PORT:-8080}:8080"    # direct API: scripts/agent-v1-e2e.sh, the fast WAR loop
      - "127.0.0.1:${DEV_DEBUG_PORT:-5005}:5005"

  caddy:
    ports:
      - "127.0.0.1:${DEV_WEB_PORT:-8088}:80"      # the console as users get it (SPA + /rest + /update + /recovery)