050e10e2849166aef1cda95f0c53fbbfd1160cfb
Pairs with hosted-gateway commit fcf184b. The api/worker containers now read /data/pss.key on boot — without a shared volume they'd each get their own PSS identity per container, which is what was hanging PSS replies from the provider. Co-Authored-By: Claude Opus 4.7 (1M context) <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%