Deploy Executor v2 (Self-Hosted)

Self-host the Executor v2 beta to connect any agent to everything.

Deploy Executor v2 (Self-Hosted)

Deploy and Host Executor v2 (Self-Hosted) on Railway

Executor is a tool gateway for AI agents. It connects agents to your apps and accounts through one MCP endpoint, with organizations, invitations and browser sign-in. This template runs the Executor v2 beta on Railway with persistent storage and a public HTTPS domain.

About Hosting Executor v2 (Self-Hosted)

This template deploys the official self-hosted image ghcr.io/usefulsoftwareco/executor-selfhost:2.0.0-beta.53 as a single Railway service. It mounts persistent storage at /app/data, exposes the dashboard, API and MCP endpoint through a public domain, and uses /health as the deployment healthcheck. Open the domain after the first deployment to create the administrator account and organization.

Common Use Cases

  • Running a self-hosted tool gateway for AI agents.
  • Connecting agents to Gmail, GitHub, Linear, Notion and other apps through one MCP endpoint.
  • Managing organizations, members and connected accounts from the browser.

Dependencies for Executor v2 (Self-Hosted) Hosting

  • Persistent storage mounted at /app/data.
  • Public HTTPS domain for browser sign-in and the MCP endpoint.
  • Optional: your own domain with a wildcard record for app web pages.

Deployment Dependencies

Implementation Details

Executor v2 keeps its embedded PGlite database, app data and generated session and encryption keys in /app/data, so no database service or secret variables are needed. It locks the volume while it runs, so keep one replica. This is a beta release and uses a separate volume from Executor v1; it does not migrate v1 data.

BETTER_AUTH_URL is the public origin for the dashboard, browser sign-in and the MCP endpoint. EXECUTOR_APP_UI_BASE_URL is the base for app web pages: with https://apps.example.com, the app notes in the organization executor is served at notes.executor.apps.example.com. Both start on the generated Railway domain, which can't serve app web pages.

To use your own domain, such as example.com:

  1. Set BETTER_AUTH_URL to https://example.com and EXECUTOR_APP_UI_BASE_URL to https://apps.example.com, and deploy. Do this first: once a wildcard domain exists, Railway may set RAILWAY_PUBLIC_DOMAIN to it, and Executor can't start with a wildcard origin.
  2. In the service's networking settings, add example.com and the wildcard domain *.executor.apps.example.com, both on port 8080. executor is the slug of the first organization; an organization with the slug team needs *.team.apps.example.com.
  3. Create the CNAME and TXT records Railway shows for each domain. On Cloudflare, keep them DNS only.

Why Deploy Executor v2 (Self-Hosted) 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 Executor v2 (Self-Hosted) 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

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
121
View Template
Evolution API with n8n
Automate WhatsApp workflows with Evolution API, n8n, and Postgres.

codestorm
113
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
867