Files
agents-marketplace/deploy/mainnet/docker-compose.buyer.yml
david cd0edd74ee deploy/mainnet: drop stale "DEFERRED — Do NOT compose up" banner
buyer and indexer mainnet stacks have been running on vector-marketplace
(marketplace-mainnet-buyer + marketplace-mainnet-indexer healthy, 4+ days
uptime for indexer, buyer redeployed today with the auth gate). The
"Wired but not yet exercised" header contradicts reality and would spook
the next operator who reads it.

Note in the new headers points at marketplace.vector.apexfusion.org and
mp-indexer.vector.apexfusion.org so the connection between the compose
file and the live URL is explicit. The genuinely-still-open mainnet-
safety follow-up (ARCHITECTURE.md §9 #5: env-gate / wallet allowlist /
MAINNET=1 flag) is kept as a one-line reference in the buyer header.

supplier and ollama mainnet composes are intentionally left alone — I
don't have evidence of those being deployed via these compose files.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 11:08:18 +02:00

53 lines
1.6 KiB
YAML

# deploy/mainnet/docker-compose.buyer.yml — Buyer (Express + Vite UI) — MAINNET
#
# Brought up on vector-marketplace at https://marketplace.vector.apexfusion.org.
# Operator login is gated by BUYER_PASSWORD + SESSION_SECRET (see buyer/.env).
#
# Code-level mainnet safety (env-gate / wallet allowlist / MAINNET=1 flag,
# tracked in ARCHITECTURE.md §9 #5) is still a separate open follow-up.
name: marketplace-mainnet-buyer
services:
buyer:
build:
context: ../..
dockerfile: buyer/Dockerfile
container_name: marketplace-mainnet-buyer
restart: unless-stopped
env_file:
- path: ../../buyer/.env
required: false
environment:
INDEXER_URL: http://marketplace-mainnet-indexer:8090
BUYER_PORT: "8070"
# NETWORK_ID intentionally not pinned — see supplier compose comment.
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:8070/healthz >/dev/null || exit 1"]
interval: 20s
timeout: 5s
retries: 3
start_period: 15s
networks:
- marketplace-mainnet-net
- traefik-net
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-net"
- "traefik.http.routers.mp-buyer-mainnet.entrypoints=web"
- "traefik.http.routers.mp-buyer-mainnet.rule=Host(`marketplace.vector.apexfusion.org`)"
- "traefik.http.services.mp-buyer-mainnet.loadbalancer.server.port=8070"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
networks:
marketplace-mainnet-net:
external: true
name: marketplace-mainnet-net
traefik-net:
external: true
name: traefik-net