eed113c527ec34292e43f3a00e676a548fc5bfc7
PSS chunks targeting prod's ff89* neighborhood are being routed by homelab pushsync to random peers in the ff prefix (e.g. ff7adaed) rather than prod_bee at ff896a93, because Bee 2.8's routing table evicts prod_bee from homelab's bin-1 when other ff peers appear. Same problem in reverse — prod has no protection on its homelab connection. --static-nodes keeps the libp2p connection alive across kademlia churn. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
DevOps
This repo manages the two environments for the Token4Token hosted gateway:
local/— docker-compose files for running development and testing environments locally. Tests run inside Docker, no host-side Bun needed.hostinger/— Docker Swarm stack files for the remote production cluster on Hostinger.
The layout mirrors cipherdolls/devops.
Local development
cd local
make up # bring the dev stack up (postgres, redis, bee, anvil, api, worker)
make logs # tail
make down # clean shutdown
The dev compose mounts ../../hosted-gateway/src so file changes hot-reload
inside the container (bun run --watch).
Local testing
Every E2E spec runs inside Docker against a fresh stack (anvil fork of Gnosis, deployed contracts, a t4t-provider container against a stub Ollama).
cd local
make test SPEC=accounts # run one spec
make test-all # run every spec sequentially
make test brings up postgres + redis + anvil + bee + t4t-provider + hosted
api + worker, then runs the bun test container against them. After the run
it tears everything down (-v --remove-orphans).
Hostinger / production
Stack files in hostinger/ are applied via docker stack deploy from the CI
pipeline. Not relevant for local development.
Languages
Makefile
77.2%
TypeScript
18.7%
Dockerfile
4.1%