$49$149Self-host license, this week only7d00h00m00sClaim $49 →
Skip to content

Documentation · Self-hosting

Self-host AgentLaunch

Launch with your AI agent straight from the repo, or deploy the full app to run launches in Chrome or headless.

Updated

← All docs

Before you start

What you get#

  • $149 once. Unlimited launches, no subscription.
  • A private GitHub repo with agent mode, the full app (dashboard, Chrome extension, headless runner) and 394 directories with recorded paths.
  • Fresh directory data about every three months, for as long as AgentLaunch is maintained.
  • Use it for your own products and your clients'.

Get the code#

  1. Buy the Self-Host License on the pricing page.
  2. On your Account page, enter your GitHub username and click Send invite.
  3. Accept the GitHub invite and clone the repo.

What's in the repo#

FolderWhat it is
agent/Agent mode: the catalog, the launch tracker and the workflow your agent follows.
app/docs/directory-guides/Recorded paths for 394 directories, 224 followed to the final submit screen.
app/The full app: React and Node.js with Wasp, Prisma and PostgreSQL.
extension/The Chrome extension (plain JavaScript).
runner/The headless runner.
selfhost/Deploy scripts for Railway, and Docker files for any server.

Launch with your AI agent

No setup needed#

Open the repo in Claude Code, Codex or Cursor and say "launch my product, https://yourproduct.com". That's it: no server, no database, no AI key.

  • You need Node.js 20 or newer.
  • Your agent needs a browser: Claude in Chrome or the Playwright browser tool.

Deploy the full app

What you need#

Only for the dashboard, the Chrome extension or the headless runner.

WhatCost
A Railway account (or any server that runs Docker)Usually a few dollars a month
An OpenRouter key, or any OpenAI-compatible APIPay per use
Node.js 24.14+ and Wasp 0.25.0 on your computerFree

1. Install the tools#

Install Wasp and the Railway CLI, then log in

npm install -g @wasp.sh/wasp-cli@0.25.0
npm install -g @railway/cli
railway login

2. Create the Railway project#

Run from the root of the repo

railway init --name agentlaunch
railway add --database postgres
railway add --service agentlaunch-server
railway add --service agentlaunch-client
railway domain --service agentlaunch-server --port 8080
railway domain --service agentlaunch-client --port 8080

Note the server address and site address the domain commands print.

3. Configure the server#

Generate two secrets

openssl rand -hex 32
openssl rand -hex 32

Set the server variables (replace every <...>)

railway variables --service agentlaunch-server \
  --set 'DATABASE_URL=${{Postgres.DATABASE_URL}}' \
  --set 'PORT=8080' \
  --set 'AGENTLAUNCH_SELF_HOSTED=true' \
  --set 'WASP_SERVER_URL=<server address>' \
  --set 'WASP_WEB_CLIENT_URL=<site address>' \
  --set 'JWT_SECRET=<secret 1>' \
  --set 'JEV_KEY_ENCRYPTION_SECRET=<secret 2>' \
  --set 'ADMIN_EMAILS=<your email>' \
  --set 'ROCKET_LAUNCH_SUBMISSION_AGENT_ENABLED=true' \
  --set 'ROCKET_LAUNCH_TEXT_AI_BASE_URL=https://openrouter.ai/api/v1' \
  --set 'ROCKET_LAUNCH_TEXT_AI_MODEL=openai/gpt-4.1-mini' \
  --set 'ROCKET_LAUNCH_TEXT_AI_API_KEY=<your OpenRouter key>'

4. Deploy#

Build and deploy

SERVER_URL=<server address> SITE_URL=<site address> ./selfhost/deploy.sh

The first build takes a few minutes. The directory catalog loads on first start.

5. Log in#

Open your site address and sign up with the email in ADMIN_EMAILS. You're logged straight in.

Run launches: Chrome or headless

In your Chrome#

  1. On Connect, download the extension and unzip it.
  2. On chrome://extensions, turn on Developer mode and Load unpacked.
  3. Click Connect this Chrome, then Launch a product on the dashboard.

Headless, on your server#

The same extension in a Chromium on your server. Launches keep going with your computer off; steps that need you arrive on your dashboard and by email.

  1. On Connect, under Connect with a key instead, create a key.
  2. Add the runner service and its variables, then deploy it:

Add the headless runner on Railway

railway add --service agentlaunch-runner
railway volume add --service agentlaunch-runner --mount-path /data
railway variables --service agentlaunch-runner \
  --set 'AGENTLAUNCH_SERVER_URL=<server address>' \
  --set 'AGENTLAUNCH_SITE_URL=<site address>' \
  --set 'AGENTLAUNCH_API_KEY=<key from Connect>'
./selfhost/deploy-runner.sh

Give it 2 GB of memory. It signs up with email rather than Google or GitHub, and a few directories block server browsers.

Run your copy

Add your own directories#

Add them to app/src/server/scripts/data/directoryAdditions.ts. For agent mode, run node app/scripts/export-agent-catalog.mjs; the full app picks them up on its next start.

Add teammates#

Allow sign-ups by email or whole domain

railway variables --service agentlaunch-server \
  --set 'SELF_HOST_ALLOWED_EMAILS=alex@yourcompany.com,*@youragency.com'

Use your own domain#

  1. Add the domain to agentlaunch-client in Railway (Settings, Networking).
  2. Set WASP_WEB_CLIENT_URL to it and deploy again with SITE_URL set to it.
  3. Download the extension again from Connect on the new domain.

Optional: email alerts and Gmail#

VariablesAdds
PLUNK_SECRET_KEY, PLUNK_FROM_EMAIL, PLUNK_FROM_NAMEEmail alerts and password resets
COMPOSIO_API_KEYConfirming directory emails from Gmail

Host it somewhere else (AWS, a VPS)#

  • You need the server's Docker image (from wasp build), a static host for the site and PostgreSQL. No Redis or queue.
  • Run one server instance, with the same variables as on Railway.
  • The deploy script and setup support cover Railway; elsewhere you run the deployment.

Updates#

Pull the new release and deploy

git pull
SERVER_URL=<server address> SITE_URL=<site address> ./selfhost/deploy.sh

Agent mode needs only git pull. If you run the headless runner, run ./selfhost/deploy-runner.sh too.

Troubleshooting#

ProblemFix
Node or Wasp version errorCheck node --version (24.14+) and wasp version (0.25.0).
The server keeps restartingIts first log lines name the missing variable.
"Sign-up is limited to approved emails"Add the address to ADMIN_EMAILS or SELF_HOST_ALLOWED_EMAILS.
The extension won't connectDownload it again from Connect on your own site.
Launches don't write copyCheck the ROCKET_LAUNCH_TEXT_AI variables and your OpenRouter balance.

License in plain words#

  • Run it, change it and rebrand it for your organization.
  • Launch your own products and your clients', as long as you run it.
  • Don't resell or share the code, or run it as a product others log in to.
  • Don't publish the directory catalog as a dataset.

The full license is LICENSE.md in the repo. Questions: support@agentlaun.ch.

Frequently asked questions

Do I have to deploy anything?

No. Agent mode runs from the repo. Deploy the full app only if you want the dashboard, Chrome or the headless runner.

What does it cost to run?

The license is $149 once. Agent mode costs nothing more; the full app costs a few dollars a month on Railway plus your AI usage.

How do updates work?

Fresh directory data about every three months, for as long as AgentLaunch is maintained. Run git pull.

Can I host it on AWS instead of Railway?

Yes. The full app needs Docker, PostgreSQL and a static host. Setup support covers Railway.

Can I add my own directories?

Yes. Add them to the catalog file in the repo and redeploy, or re-export it for agent mode.

Which AI model does the full app use?

Any OpenAI-compatible API. It's tested with openai/gpt-4.1-mini through OpenRouter.

Can I run launches for clients?

Yes, as long as you run it yourself. Clients can't get their own logins or the code.

Is there setup support?

The written guide covers Railway end to end. License questions go to support@agentlaun.ch.

Need a hand?

Email support@agentlaun.ch. Don’t include passwords, verification codes or connection keys.