Railway deployment wrapper for Hermes Agent. Keeps the uncannylabs/hermes-agent fork clean by isolating all deployment config here.
The Dockerfile clones uncannylabs/hermes-agent (clean fork of NousResearch) at a pinned ref, installs all dependencies, and runs paperclip_api.py.
paperclip_api.py starts two things:
- FastAPI server with
/healthand/executeendpoints (for Paperclip + Railway health checks) - Hermes messaging gateway in a background thread (for Telegram) when
HERMES_GATEWAY_ENABLED=true
HERMES_HOME=/data/.hermes(persistent volume)PORT=8080ANTHROPIC_API_KEY(Claude Max plan token)LLM_MODEL=anthropic/claude-opus-4.6API_SERVER_KEY(bearer auth secret for Paperclip)HERMES_GATEWAY_ENABLED=true(starts Telegram gateway)TELEGRAM_BOT_TOKENTELEGRAM_ALLOWED_USERS(comma-separated user IDs)HERMES_EXEC_ASK=0(headless mode)HERMES_TIMEZONE=UTC
- The
uncannylabs/hermes-agentfork auto-syncs daily with NousResearch upstream - Change
HERMES_REFin Dockerfile (or rebuild) to pick up new versions - Push to main — Railway auto-deploys
- Attach volume at
/datafor persistent state (sessions, config, skills, memory) - Generate internal domain for Paperclip-to-Hermes traffic
- Generate public domain for health checks