# Negosium + Negodata 백엔드. # DB 는 compose 에서 관리하지 않는다 — 각 backend 는 config.docker.toml 의 접속 정보대로 # 외부 PostgreSQL 에 연결한다(호스트에 떠 있는 로컬 postgres, 또는 따로 실행 중인 docker postgres). # 컨테이너에서 호스트의 DB 에 접속할 때는 host.docker.internal 을 쓴다. # # docker compose up -d # negosium 서버: http://localhost:9300/docs # negodata 서버: http://localhost:9400/docs # agent 서버: http://localhost:9500/docs # # DB 준비(최초 1회): postgres-init 의 SQL 을 대상 DB 에 적용한다. # psql -h -p -U -f postgres-init/01-schema.sql (단일 negosium_db + 도메인별 schema) # psql -h -p -U -f postgres-init/02-learning-schema.sql (agent learning 스키마) # psql -h -p -U -f postgres-init/03-seed-negodata.sql (negodata 전용 시드: admin / admin1234, company.users) services: negosium-backend: build: ./backend container_name: negosium-backend environment: APP_ENV: local DB_HOST: host.docker.internal # 컨테이너→호스트 DB (config.local.toml의 127.0.0.1 override) ports: - "9300:9300" # 컨테이너에서 호스트의 DB 로 접근 (config.docker.toml 의 host.docker.internal) extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped negodata-backend: build: ./negodata/backend container_name: negodata-backend environment: APP_ENV: local DB_HOST: host.docker.internal # 컨테이너→호스트 DB (config.local.toml의 127.0.0.1 override) ports: - "9400:9400" extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped # negodata 프론트 (Vite dev 서버). negodata-front: build: ./negodata/front container_name: negodata-front ports: - "3000:3000" volumes: - ./negodata/front:/app - /app/node_modules restart: unless-stopped # 협상 에이전트 (negosium_db 공유, learning 스키마 사용). agent: build: ./agent container_name: negosium-agent environment: APP_ENV: local DB_HOST: host.docker.internal # 컨테이너→호스트 DB (config.local.toml의 127.0.0.1 override) ports: - "9500:9500" extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped