Deploy and verify
Deploy the agent to Railway and verify its health, route, console, and application client.
Before you deploy
- Install the Railway CLI and run railway login.
- Run from the agent project, not the application repository.
- Keep webTransport on port 8080 for the generated Railway container.
- Commit application source normally, but keep the agent's .env out of Git.
First deploy
cd my-agent
auggy doctor
auggy deploy- 1Choose or create the Railway workspace, project, and service.
- 2Review the redacted environment-variable diff.
- 3Confirm deployment; Auggy stages the agent without local-only files and syncs secrets.
- 4Auggy mounts persistent data at /app/data, assigns a domain, and deploys the service.
- 5The command verifies /health and records the deployment in .auggy-cloud.json.
Verify the production path
curl "https://<agent-domain>/health"
curl "https://<agent-domain>/services?need=gift&maxBudgetUsd=200"
auggy logs- 1Confirm /health returns a successful response.
- 2Confirm the deployed /services route returns the same result as local development.
- 3Open the deployed
/console/integrationswith creator credentials and inspect route and auth state. - 4Set NEXT_PUBLIC_AUGGY_BASE_URL in the application deployment to the agent domain and redeploy the application.
- 5Run the service search from the production application.
Persistent state
Railway mounts a volume at /app/data. Startup verifies that exact advertised mount and proves atomic write/fsync/rename durability before stateful augments boot. Core SQLite paths resolve directly onto the volume; they do not depend on root-level symlinks.
| Path | Augment |
|---|---|
| /app/data/memory.db | layeredMemory |
| /app/data/budgets.db | budgets |
| /app/data/visitor-auth.db | visitorAuth |
| /app/data/link.db | link |
| /app/data/agent-mail/<augment-name>/agent-mail.db | AgentMail, isolated per augment instance |
Fail closed on ephemeral storage
Railway startup refuses a missing, differently mounted, or symlinked runtime root. Do not add /app/*.db compatibility symlinks for new state; only Link retains its legacy symlink.
The tutorial catalog is stateless
The catalog example does not require a volume. Persistent storage matters when you add memory, visitor authentication, budgets, or other SQLite-backed augments.
