MCPcopy Index your code
hub / github.com/elitan/frost

github.com/elitan/frost @v0.22.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.22.0 ↗ · + Follow
2,021 symbols 5,296 edges 448 files 1 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Frost

Open Source Alternative to Vercel, Netlify, Railway, Render and Neon.

Build, deploy, and run from one open-source platform. Your apps run on your server.

Demo: demo.frost.build

Why Frost

  • Open source runtime. No platform markup.
  • Git push deploy workflow.
  • Docker-native. No Kubernetes setup.
  • AI-friendly deploy model with clear logs.

What you get

  • Unlimited services, deploys, and seats
  • Automatic SSL (Let's Encrypt)
  • Custom domains and redirects
  • PR preview environments
  • Zero-downtime deploys and instant rollbacks
  • Health checks, resource limits, persistent volumes
  • Managed object storage with S3-compatible buckets and access keys
  • REST API and MCP support for AI agents

Core model

  • Project: container for related services with shared env vars
  • Service: deployable unit from repo or prebuilt image
  • Object Storage: S3-compatible API endpoint with buckets and scoped keys
  • Domain: custom domain attached to a service (proxy or redirect)
  • Deployment: immutable deploy record with logs and status

Services in one project share a Docker network. Use service name as hostname.

Object storage exposes one user-facing S3 API endpoint. Bucket and access-key administration lives inside Frost, so users do not need a second public console domain for the storage engine.

Install

With AI agent:

  • Give your agent https://frost.build/install.md

Manual:

curl -fsSL https://frost.build/install.sh | sudo bash

Need VPS provisioning help: INSTALL.md

One simple deploy example

Create a project, deploy, then check status:

PROJECT_ID=$(curl -s -X POST http://localhost:3000/api/projects \
  -H "Content-Type: application/json" \
  -d '{"name":"demo","repo_url":"./test/fixtures/simple-node","port":3000}' | jq -r .id)

DEPLOYMENT_ID=$(curl -s -X POST "http://localhost:3000/api/projects/$PROJECT_ID/deploy" | jq -r '.deploymentIds[0]')

curl "http://localhost:3000/api/deployments/$DEPLOYMENT_ID"

Docs

Tech stack

  • Bun + Next.js
  • SQLite + Kysely
  • Tailwind + shadcn/ui
  • Docker

Local development

bun install
bun run dev

Open http://localhost:3000

Common test commands:

bun run e2e:local
bun run e2e:smoke
bun run e2e:changed:fast

Useful E2E knobs:

E2E_GROUPS='01-basic,29-mcp' bun run e2e:local
E2E_GROUP_GLOB='group-2*.sh' bun run e2e:local
E2E_BATCH_SIZE=4 E2E_START_STAGGER_SEC=1 bun run e2e:local

Image pull retries are built in: FROST_IMAGE_PULL_RETRIES, FROST_IMAGE_PULL_BACKOFF_MS, FROST_IMAGE_PULL_MAX_BACKOFF_MS.

Requirements

  • VPS/server with Docker
  • Ubuntu 20.04+ recommended

License

MIT

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 1,595
Interface 357
Method 59
Class 10

Languages

TypeScript100%

Modules by API surface

apps/app/src/lib/database-runtime.ts79 symbols
apps/app/src/lib/postgres-import.ts78 symbols
apps/app/src/lib/docker.ts61 symbols
apps/app/src/app/(workspace)/projects/[id]/_components/database-table-browser.tsx54 symbols
apps/app/src/lib/deployer.ts52 symbols
apps/app/src/lib/github.ts42 symbols
apps/app/src/lib/postgres-branching/zfs-branch-storage.ts34 symbols
apps/app/src/lib/templates.ts29 symbols
apps/app/src/lib/postgres-backup-config.ts29 symbols
apps/app/src/lib/postgres-backup-runner.ts27 symbols
apps/app/src/lib/db-types.ts27 symbols
apps/app/src/hooks/use-databases.ts26 symbols

Datastores touched

(mysql)Database · 1 repos
(mongodb)Database · 1 repos
mydbDatabase · 1 repos
appDatabase · 1 repos
app_dbDatabase · 1 repos
mydbDatabase · 1 repos
postgresDatabase · 1 repos
source_appDatabase · 1 repos

For agents

$ claude mcp add frost \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page