Put it on a URL you own.
Ask your agent for a slide deck, a dashboard, a report or a small tool, and gangway puts it on a URL on your own domain that you can share and keep changing. It runs on your server, and everything it makes stays there.
Soon gangway Cloud, if you would rather not run the host. Get notified →
An open source alternative to Claude artifacts.
What your agent would normally make as an artifact goes to a real HTTPS URL on your server instead, and it keeps iterating on it at the same URL.
/gangway:generate-artifact a pricing calculator for acme
deploy → building → awake
Over MCP, to your gangway. It checks the routes and reads the logs itself.
https://pricing-3f1.acme.dev ↗
Ask for a change and it is patched in place. The link stays the same.
However the code gets there.
Open a pull request
Connect a repository once. Every pull request gets its own preview, updated on each push.
acme/shop#142 → shop-142.acme.dev
Ask your agent
Point Claude Code, Codex, Cursor or any MCP client at your server. It can deploy, check status, read logs and destroy.
deploy · status · logs · destroy
Drop a folder
Drag a folder, some files or a .zip into the browser. gangway works out the runtime and builds it.
landing/ → landing-7k2.acme.dev
Previews look after themselves.
Your source becomes an image.
The container comes up and passes its check.
Serving on its own HTTPS URL.
Idle previews stop. The next request wakes them.
Past its expiry, it is removed.
It reads the folder and picks the runtime.
Or bring your own Dockerfile. Attach a database and it is created with the preview and destroyed with it.
One command on your server.
It asks for what it needs, checks the host, and prints a link that creates the first admin.
- Docker or Podman, with Compose. Docker Engine, Docker Desktop and Colima all work.
-
A domain with a wildcard DNS record. Point
preview.example.comand*.preview.example.comat the server. - A wildcard certificate. gangway gets one itself from Let’s Encrypt with a Cloudflare API token, or the reverse proxy you already run holds it.
- A server people can reach, on 443 or any port you choose.
Only trying it on a laptop? Skip the domain and certificate: it runs on
preview.localhost (experimental).
curl -fsSL gangway.sh/install | sh
As root or a user in the docker group. Run it again to upgrade: if the
new version does not come up healthy, it puts the previous one back.
- Asks for your domain and who holds port 443.
-
Checks Docker, DNS and the ports, then writes
.envandcompose.yaml. - Starts gangway and prints a one-time link to create the first admin.
Questions
What do I need to run it?
One Docker host, a domain and a wildcard DNS record such as *.acme.dev. gangway runs as one container on that host and drives it with docker compose.
Who holds the certificate?
Either the reverse proxy you already run, with a wildcard certificate, or gangway itself through ACME with a DNS challenge.
Where does my data live?
In a SQLite database, logs and scratch space under the state path you choose, on your server. Nothing is sent anywhere else.
Which agents can deploy?
Any MCP client. There is a plugin for Claude Code and Codex; Cursor and VS Code connect by URL. Your gangway’s Account page shows the exact commands with your URL filled in.
Do pull requests from forks get previews?
No. Pull requests from forks are skipped: GitHub gives their workflow runs no OIDC token.
Who can see a preview?
You choose per preview: public, only gangway users, or behind a password. Previews bind to the host’s 127.0.0.1, so gangway is the only way in.
Is there a hosted version?
gangway Cloud is coming, for individuals and small teams who want it handled for them. Join the waitlist to hear when it launches.
Run it on your own host.
Every feature, no limits. Clone the repo and start.
Get it on GitHub ↗Handled for you.
For individuals and small teams. Permanent hosting and domain registration, with no server to run.
Get notified