Host your own app

Already have an app in a GitHub repository? startupjs.ai can host it. A BYO ("bring your own") project runs your code in its own container, with everything the platform gives AI-built sites: a something.startupjs.ai address, your own domain with automatic certificates, and one-click deploys with useful failure diagnostics.

This page is for people comfortable with a repo and a Dockerfile — or whose connected AI is.

The contract

Your app needs to fit four rules:

  1. A Dockerfile at the repository root — the platform builds and runs exactly what it describes.
  2. Listen on port 3000 — that's where web traffic arrives.
  3. Keep data under /db — a persistent disk is mounted there and survives deploys and restarts (an SQLite file is the classic fit). Anything written elsewhere is gone on the next deploy.
  4. Configure via environment variables — set them on the project's Environment variables section; they're stored encrypted and injected at run time.

Setting up

  1. New project on the dashboard → choose Host your own app. (BYO projects are available on paid plans.)
  2. The project page shows a deploy key — a public key you add to your GitHub repository (repo → Settings → Deploy keys, read-only is fine). This is how the platform fetches your code; no GitHub account linking, no broad permissions.
  3. Enter the repository's SSH address and branch in the GitHub repository section.
  4. Add any environment variables your app needs.
  5. Press Deploy.

The deploy loop

Each deploy fetches your branch, checks the contract, builds the image, and swaps it in only if the new version starts and answers — a broken build never replaces a working site.

When a deploy fails, you get two things: your app's own recent log output (the actual crash, e.g. a missing environment variable), and a ready-to-paste fix prompt — a description of the failure written for an AI coding assistant. Paste it into your AI, apply the fix, push, deploy again. With a connected AI, the whole loop — including reading the diagnosis — runs from your AI directly.

How BYO hosting behaves

  • Always on. Unlike AI-built sites (which nap when idle), your container keeps running.
  • Bounded. The project's compute units set its memory and disk; disk warnings appear on the dashboard before anything is enforced.
  • Self-contained. Your container gets no special access to anything of startupjs.ai's — it's your app, in its own box, behind the platform's front door.

What BYO is not

There's no AI Builder for a BYO project — the platform doesn't understand or modify your code; it builds, runs and routes it. Deploys are manual (press the button or ask your connected AI); pushing to GitHub does not auto-deploy. And your app's content is whatever your app does — none of the site-building docs apply inside it.