An open-source, self-hostable deployment platform for static sites - like Netlify or Vercel, but you control the infrastructure.
- Upload & Deploy: Upload your dist folder and get instant hosting
- Custom Subdomains: Each deployment gets a unique URL (e.g.,
user1.app1.23blocks.net) - S3 + CloudFront: Fast, reliable hosting with CDN
- Self-Hostable: Bring your own AWS keys and run it yourself
- Open Source: Free for everyone to use and modify
- CLI Tool: Simple publish command to deploy from terminal
- Web Dashboard: Manage all your deployments in one place
This monorepo includes:
apps/deployment-platform- Next.js web dashboard for usersapps/admin-dashboard- Admin dashboard for platform managementpackages/deploy-cli- CLI tool for publishing sitesinfrastructure/terraform- AWS infrastructure as code
User uploads dist folder
β
Next.js API receives files
β
Creates S3 bucket (or uses existing)
β
Uploads files to S3
β
CloudFront CDN serves files
β
User accesses site at subdomain
- Frontend: Next.js 14, React, Tailwind CSS
- Backend: Next.js API Routes, Prisma ORM
- Infrastructure: AWS (S3, CloudFront, Route53, Lambda)
- IaC: Terraform
- Database: PostgreSQL (configurable)
- Storage: AWS S3
- Node.js 18+
- pnpm 9+
- AWS Account (for self-hosting)
- PostgreSQL database
- Domain name for hosting
git clone https://github.com/23blocks-OS/TheLandingPage-SaaS.git
cd TheLandingPage-SaaS
pnpm installcd infrastructure/terraform
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your AWS credentials and domain
terraform init
terraform plan
terraform applycd apps/deployment-platform
cp .env.example .env.local
# Edit .env.local with your database and AWS credentialscd apps/deployment-platform
pnpm prisma migrate dev# From root directory
pnpm devVisit http://localhost:3000 to see the dashboard.
The admin dashboard provides a comprehensive interface for platform management:
- User Management: View, search, and manage all users
- Deployment Monitoring: Track all deployments across the platform
- Job Queue: Trigger and monitor background jobs
- System Metrics: Monitor AWS usage, database health, and platform performance
- Audit Logging: Complete audit trail of all admin actions
# Navigate to admin dashboard
cd apps/admin-dashboard
# Create first admin user
npx tsx scripts/create-admin.ts
# Start admin dashboard (runs on port 3001)
pnpm devVisit http://localhost:3001 to access the admin dashboard.
For detailed documentation, see apps/admin-dashboard/README.md
# Install CLI globally
pnpm install -g @23blocks/deploy-cli
# Login
23blocks-deploy login
# Publish your site
cd your-project/dist
23blocks-deploy publish- Login to your dashboard
- Click "New Deployment"
- Upload your dist folder
- Get your live URL!
See apps/deployment-platform/.env.example for all required environment variables.
The platform requires the following AWS permissions:
- S3: Full access for bucket creation and file uploads
- CloudFront: Create and manage distributions
- Route53: Manage DNS records for subdomains
- Lambda: (Optional) For edge functions
- Dev Agencies: Host client sites on your own infrastructure
- Solo Developers: Deploy personal projects without vendor lock-in
- Startups: Build your own hosting platform
- Enterprise: Full control over deployment infrastructure
Contributions are welcome! Please read our contributing guidelines.
MIT License - see LICENSE file for details
Inspired by Netlify and Vercel, built for the open-source community.
- GitHub Issues: For bugs and feature requests
- Discussions: For questions and community support
Built with β€οΈ by 23Blocks