c40c6c907e860d0acf92da1817c404feae406c4e
Found by following my own instructions and having them fail. - Deploys run from /root/devops/hostinger, a clone of this repo, not from /opt/t4t-gateway, which does not exist on the host. `git pull` is the deploy step; the readme was telling people to rsync into a path that isn't used, which is how the stamp-monitor service ended up edited on the host and missing from this repo for a day. - `internal` is not an attachable overlay, so `docker run --network internal ...` is refused outright. Query Bee through a container that is already on the network instead. - The monitor listens on 3000, not 8088. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YLYiaPYror1vLKApYKrxTu
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%