Deploy to Railway
Run a public worker on Railway from the GitHub repository.
Create the service
In Railway, New project → Deploy from GitHub repo, and pick your fork of arkiv-triggers. Point the
build at the worker's Dockerfile, either in Settings → Build or with the variable:
RAILWAY_DOCKERFILE_PATH=docker/worker.DockerfileSet the variables
| Variable | Value |
|---|---|
WORKER_KEY | The worker's own funded key (secret) |
ARKIV_ACCESS_KEY | An access key used only by this worker (secret) |
TG_TOKEN | Your bot token, to send Telegram (secret) |
WORKER_MODE | any for a public worker |
Do not set PORT: Railway sets it, and the worker serves /healthz on it.
Settings
- Healthcheck path:
/healthz - Replicas: exactly 1 (two replicas with one wallet collide)
- Restart policy: always
Check it
Open the deployment's logs for worker running as 0x…, then confirm the worker appears online in
listWorkers() or on the dashboard's Workers page. From a clone of the repository you can check it
fires a rule end to end:
DEPLOYED_WORKER=0x… npm run test:live:deployedGive the worker its own access key
A worker uses its key all month. If your tests or a website relay share the key, they can use up the worker's quota. See Access keys and quota.