A SPA deployment platform that makes deploying static sites dead simple. Upload your build, get a URL, done.
curl -sSL https://install.godeploy.app/now.sh | bashgodeploy auth sign-up # Create an account
godeploy auth login # Or sign in to existing accountcd your-spa-project
godeploy initThis creates a godeploy.config.json:
{
"apps": [
{
"name": "my-app",
"source_dir": "dist",
"description": "My awesome SPA",
"enabled": true
}
]
}npm run build # Build your SPA
godeploy deploy # Deploy to GoDeployYour app is now live at https://my-app.godeploy.app
- Instant deploys - Upload your build, get a URL in seconds
- Custom domains - Bring your own domain with automatic SSL
- Git integration - Automatic commit metadata on deploys
- Multi-app support - Deploy multiple SPAs from one repo
- Dashboard - Manage projects, view deploy history, configure domains
- CLI-first - Everything you need from the command line
| Doc | Description |
|---|---|
| Architecture Overview | System design and components |
| Database Schema | Tables, relationships, RLS policies |
| API Reference | REST API endpoints |
| Authentication | Auth flow and JWT tokens |
| CLI Usage | Complete CLI reference |
| Custom Domains | Domain setup guide |
| Development Setup | Local dev environment |
| Contributing | How to contribute |
| Component | Technology |
|---|---|
| Runtime | Bun |
| API | Fastify + TypeScript |
| Frontend | React + Vite + TypeScript |
| CLI | Go |
| Database | Supabase (PostgreSQL) |
| Storage | DigitalOcean Spaces (S3-compatible) |
| Hosting | DigitalOcean App Platform |
apps/
api/ # Fastify REST API
auth/ # Authentication SPA
dashboard/ # Management dashboard
marketing/ # Marketing site (Next.js)
cli/ # Go CLI tool
libs/
testing/ # Shared test utilities
supabase/ # Database migrations
| Repository | Description |
|---|---|
| godeploy-nginx-server | Nginx edge proxy for routing requests to deployed SPAs |
# Install dependencies
bun install
# Start the API (default)
bun dev
# Run tests
bun test
# Lint & format
make all.check.fix
# Type check
make all.typecheckSee Development Setup for full instructions.