Deploy Agent Devkit
AI-powered QA and product delivery platform
Just deployed
E2E Worker - Playwright
Just deployed
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host Agent Devkit on Railway
Agent Devkit (ADK) is an open-source QA and product-delivery platform driven by AI assistants. It combines a knowledge base, specs, test plans, agents, design prototypes and Playwright E2E automation in shared workspaces, and exposes everything to Claude, Codex and other assistants through an MCP server.
About Hosting Agent Devkit
Hosting Agent Devkit means running five connected services: a PostgreSQL database, the REST API, the React web app, a remote MCP server and a Playwright E2E worker. This template provisions all of them in one click, generates every secret (encryption key, worker token, OAuth secret) and wires the services together over Railway's private network. When the deploy finishes, you open the Web service, create your account and first workspace, and connect your AI assistant through the ADK CLI or the remote MCP endpoint. SMTP and Google/GitHub OAuth are optional and can be added later.
Common Use Cases
- Give Claude, Codex, Cursor or Gemini CLI a shared workspace with a knowledge base, specs and test plans, reachable as a remote MCP connector.
- Generate and publish test plans and suites, and sync backlog items with Azure DevOps and other providers.
- Run Playwright E2E tests on hosted workers, with videos, screenshots and test-management reporting.
Dependencies for Agent Devkit Hosting
- PostgreSQL 17 (database for workspaces, knowledge base and audit history)
- Node.js 24 runtime for the API, web app, MCP server and E2E worker (Playwright browsers included in the worker image)
Implementation Details
After the deploy, connect your assistant with the ADK CLI:
npm install -g @agent-devkit/cli
devkit login --api-url https://
Remote connectors such as claude.ai use the MCP service directly:
https:///mnt/mcp
To enable password-recovery emails, set SMTP_URL on the API service. For social sign-in, set the Google or GitHub OAuth variables.
Why Deploy Agent Devkit on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Agent Devkit on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
NODE_ENV
Runtime mode of the API. Keep as production.
SMTP_URL
Optional. SMTP connection URL (for example smtp://user:pass@host:587) used to send password-recovery emails. Leave empty to disable email.
LOG_LEVEL
Verbosity of API logs (error, warn, info or debug). Use info unless you are troubleshooting.
SMTP_FROM
Optional. Sender address shown on emails sent by ADK (for example ADK <no-reply@example.com>). Only used when SMTP_URL is set.
E2E_R2_URL
Optional. S3-compatible endpoint of your Cloudflare R2 bucket for E2E videos and screenshots. Leave empty to store artifacts in PostgreSQL. (verify)
E2E_WORKER_URL
Internal URL of the E2E Worker service, used by the API to dispatch Playwright runs. Filled in automatically.
E2E_WORKER_TOKEN
Shared secret between the API and the E2E Worker. Generated automatically; must match the worker's value.
DATABASE_PROVIDER
Database engine used by Prisma. Keep as postgresql. (verify)
E2E_R2_ACCESS_KEY_ID
Optional. Access key ID of your R2 API token. Only needed when using R2 storage.
E2E_R2_SECRET_ACCESS_KEY
Optional. Secret access key of your R2 API token. Only needed when using R2 storage.
INTEGRATION_ENCRYPTION_KEY
Secret used to encrypt stored integration credentials (Azure DevOps, test-management tools). Generated automatically; do not change it after first use, or saved integrations become unreadable.
E2E Worker - Playwright
lucaseduardocrp/Agent-Development-KitE2E_R2_URL
Optional. S3-compatible endpoint of your Cloudflare R2 bucket. Must match the API's value. Leave empty to use PostgreSQL storage. (verify)
DATABASE_URL
PostgreSQL connection string, shared with the API. Filled in automatically.
E2E_WORKER_TOKEN
Shared secret used to authenticate requests from the API. Filled in automatically; must match the API's value.
E2E_R2_ACCESS_KEY_ID
Optional. R2 access key ID. Must match the API's value.
E2E_WORKER_CONCURRENCY
Maximum number of Playwright runs executed at the same time. Start with 1 or 2; raise it only if the service has enough CPU and memory.
E2E_R2_SECRET_ACCESS_KEY
Optional. R2 secret access key. Must match the API's value.
INTEGRATION_ENCRYPTION_KEY
Must be identical to the API's key so the worker can decrypt integration credentials. Filled in automatically from the API service.
ADK_API_URL
Internal URL of the ADK API that the MCP server talks to. Filled in automatically.
ADK_MCP_PUBLIC_URL
Public URL of this MCP service (for example https://your-mcp.up.railway.app). Used for OAuth redirects when connecting claude.ai and other remote clients. Filled in automatically.
ADK_MCP_OAUTH_SECRET
Secret used to sign OAuth tokens issued by the MCP server. Generated automatically; keep it private.
PGDATA
Directory where PostgreSQL stores its data, inside the attached volume. Do not change.
PGPORT
Port the database listens on. Default is 5432.
POSTGRES_DB
Name of the database created for ADK. Default is fine.
POSTGRES_USER
Database user. Default is fine.
SSL_CERT_DAYS
Validity, in days, of the self-signed SSL certificate generated by the Postgres image.
RAILWAY_DEPLOYMENT_DRAINING_SECONDS
Seconds Railway waits for the database to shut down cleanly during a redeploy. Do not lower it.
