Some checks are pending
offline / test (push) Waiting to run
Add missing package READMEs, expand Sphinx to all runtime modules, publish a LaTeX/PDF README book, and add verae-ops for Docker, Proxmox, VMs, dedicated hardware, and service linking. Catalog defaults to public PDF links for each module README and samples.
115 lines
2.7 KiB
YAML
115 lines
2.7 KiB
YAML
# Lab / small-prod. NATS stays on the internal network (not published).
|
|
# Usage:
|
|
# MONOREPO=/path/to/master-zapier-plan-draft docker compose up --build
|
|
# or clone sibling repos next to this directory.
|
|
|
|
x-node: &node
|
|
restart: unless-stopped
|
|
networks: [verae]
|
|
|
|
services:
|
|
nats1:
|
|
image: nats:2.10-alpine
|
|
command:
|
|
- "--js"
|
|
- "--http_port=8222"
|
|
- "--cluster=nats://0.0.0.0:6222"
|
|
- "--cluster_name=verae"
|
|
- "--routes=nats://nats2:6222,nats://nats3:6222"
|
|
- "--name=nats1"
|
|
networks: [verae]
|
|
restart: unless-stopped
|
|
|
|
nats2:
|
|
image: nats:2.10-alpine
|
|
command:
|
|
- "--js"
|
|
- "--cluster=nats://0.0.0.0:6222"
|
|
- "--cluster_name=verae"
|
|
- "--routes=nats://nats1:6222,nats://nats3:6222"
|
|
- "--name=nats2"
|
|
networks: [verae]
|
|
restart: unless-stopped
|
|
|
|
nats3:
|
|
image: nats:2.10-alpine
|
|
command:
|
|
- "--js"
|
|
- "--cluster=nats://0.0.0.0:6222"
|
|
- "--cluster_name=verae"
|
|
- "--routes=nats://nats1:6222,nats://nats2:6222"
|
|
- "--name=nats3"
|
|
networks: [verae]
|
|
restart: unless-stopped
|
|
|
|
zappier-edge:
|
|
<<: *node
|
|
build:
|
|
context: ${MONOREPO:-..}/packages/zappier
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
PORT: "3000"
|
|
ZAPPIER_UPSTREAM: http://middleware:3100
|
|
ports:
|
|
- "3000:3000"
|
|
|
|
middleware:
|
|
<<: *node
|
|
build:
|
|
context: ${MONOREPO:-..}/packages/verae-zapier-middleware
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
PORT: "3100"
|
|
MOCK_VERAE: "true"
|
|
NATS_ENABLED: "true"
|
|
NATS_URL: nats://nats1:4222
|
|
ports:
|
|
- "3100:3100"
|
|
depends_on: [nats1, nats2, nats3]
|
|
|
|
archive-worm:
|
|
<<: *node
|
|
image: node:22-alpine
|
|
working_dir: /opt/fleet
|
|
volumes:
|
|
- ${MONOREPO:-..}/packages/verae-fleet:/opt/fleet
|
|
- ${MONOREPO:-..}/packages/verae-archive-worm:/opt/worm
|
|
- worm-data:/data
|
|
command: ["node", "src/worker.js"]
|
|
environment:
|
|
NATS_URL: nats://nats1:4222
|
|
FLEET_ROLE: archive-worm
|
|
FLEET_SERVICE: archive-worm
|
|
FLEET_HEALTH_BIND: 0.0.0.0
|
|
FLEET_HEALTH_PORT: "13500"
|
|
FLEET_STATE_DIR: /data
|
|
deploy:
|
|
replicas: 3
|
|
|
|
tree-node:
|
|
<<: *node
|
|
image: node:22-alpine
|
|
working_dir: /opt/fleet
|
|
volumes:
|
|
- ${MONOREPO:-..}/packages/verae-fleet:/opt/fleet
|
|
- ${MONOREPO:-..}/packages/verae-tree-node:/opt/tree
|
|
- tree-data:/data
|
|
command: ["node", "src/worker.js"]
|
|
environment:
|
|
NATS_URL: nats://nats1:4222
|
|
FLEET_ROLE: tree-node
|
|
FLEET_SERVICE: tree-node
|
|
FLEET_HEALTH_BIND: 0.0.0.0
|
|
FLEET_HEALTH_PORT: "13600"
|
|
FLEET_STATE_DIR: /data
|
|
deploy:
|
|
replicas: 3
|
|
|
|
networks:
|
|
verae:
|
|
driver: bridge
|
|
internal: false
|
|
|
|
volumes:
|
|
worm-data:
|
|
tree-data:
|