seelive
Docker hosting, deployed by Claude

Put any app online with one prompt.

Copy the prompt below into Claude Code inside your project. Claude sets everything up, asks you for your keys and the address you want, and your app is live at https://your-app.seelive.work.

Paste this into Claude Code, in your project folder

Install the seelive.work hosting skill by running curl -fsSL https://seelive.work/install.sh | sh, then read ~/.claude/skills/seelive-hosting/SKILL.md and follow it to deploy this project to seelive.work.

No keys yet? Email safwat.exe@gmail.com.

How it works

There's no registry, no CI and no server login. Your app's own Dockerfile is the whole contract.

Paste the prompt

Claude installs the seelive skill and learns the rules and the commands.

Claude prepares the app

It checks your project, writes a Dockerfile and a small deploy.conf if they're missing.

You fill in one page

A seelive page opens: paste your App Key and Secret, and choose your subdomain.

It's live

Claude deploys straight away. The server builds it, starts it, waits until it answers, and adds HTTPS.

Only key holders can deploy

Each site comes with its own App Key and App Secret, issued by the seelive.work owner. The first time you set up, you choose the subdomain, and from then on the key reaches only that site.

What you receive

App Key:   slk_Xq3…
App Secret: sls_9fK…
  • You paste them into the seelive setup page, not into the chat. Claude receives them directly and keeps them on your machine only.
  • A key can be revoked at any time. Ask for a new one if it leaks.

Get your keys

Email safwat.exe@gmail.com with:

  • what the app is,
  • roughly how much memory it needs (the default is 512 MB).

You'll get an App Key and an App Secret. The subdomain is yours to pick on the setup page.

Your own space

  • Your app runs in its own container, on its own private network.
  • It can't see or reach anyone else's container, and they can't reach yours.
  • Memory and CPU are capped per site, so a busy neighbour can't slow you down.

Get started

Once per project. After that, every deploy is just “deploy this again”.

Get keys

Email safwat.exe@gmail.com for an App Key and Secret.

Copy the prompt

Paste the prompt into Claude Code inside your project folder.

Fill in the page

Paste the keys, choose your subdomain, press Save and deploy. Claude does the rest.

Next time

The skill stays installed. In any project, tell Claude “deploy this to seelive”, or for updates just “deploy again”. Claude also reads the logs, restarts, and rolls back for you.

The rules

Sites share one server. The skill makes Claude follow these, and the server enforces the important ones.

A DockerfileAt the project root, building a production image.
Listen on 0.0.0.0On the fixed port set in deploy.conf. Plain HTTP; HTTPS is handled for you.
One containerNo compose stacks, sidecars, published ports or privileged mode.
Secrets in an env fileSent separately, never baked into the image or committed.
Named volumes for dataAnything that must survive a redeploy, like data:/app/data.
512 MB · 1 CPUThe default limit. More only when the owner agrees.
Answers within 90 sThe health path must return a status below 500, or the deploy rolls back.
Logs to stdoutReadable with deploy logs, rotated automatically.
No bundled databasesUse SQLite in a volume or an external database via env vars.

Commands

Claude runs these for you; they also work by hand from the project folder (~/.claude/skills/seelive-hosting/scripts/deploy).

deployUpload, build on the server, start, and wait until the app answers. The first time, it opens the setup page.
deploy setupOpen the setup page: paste the keys, choose the subdomain.
deploy statusState, limits and URL of your site.
deploy logs [N]Last N log lines.
deploy restart · stop · startControl the running app.
deploy rollbackGo back to the version before the last deploy.

Questions

Which languages and frameworks work?

Anything that runs in a Docker container and serves HTTP: Node, Next.js, Python, Go, .NET, PHP, static sites… The skill includes Dockerfile patterns for the common ones.

Why a setup page instead of pasting the keys to Claude?

So the secret never ends up in a chat transcript. The page sends it to the seelive server, and Claude on your computer collects it once over a private channel and stores it in ~/.config/seelive, readable only by you.

What happens if my new version is broken?

The server waits up to 90 seconds for the app to answer. If it doesn't, you get the last log lines and the previous version is started again, so the site stays up.

Can other sites reach my app?

No. Every site gets its own container on its own private network. The only things connected to it are the HTTPS proxy and the deploy service.

Where do my environment variables go?

They're read from the env file named in deploy.conf, sent over HTTPS, and stored on the server readable by the platform only. They are never part of the image.

Can I use my own domain?

Not yet. Every site is served at name.seelive.work.