The fastest way to deploy your landing page: One command. Zero hassle.
Forget creating accounts on multiple platforms, configuring build settings, or dealing with complex deployment pipelines. With 23blocks, you deploy in seconds:
- Run
npm run deploy - Enter your credentials
- Get your live URL:
username.project.23blocks.com
That's it. 200% less friction.
- 23blocks Account: Create a free account at 23blocks.com
- API Key: Get your API key from your dashboard (you'll need this later)
- Built Project: Make sure you've run
npm run buildat least once
npm run buildThis creates the optimized dist folder with your production-ready site.
npm run deployOn first run, you'll be asked:
Enter your 23blocks API URL [https://api.23blocks.com]:
Just press Enter to use the default, or enter your custom API endpoint.
Then authenticate:
Username: yourusername
Password: ********
Your credentials are used to generate a secure JWT token (valid for 1 hour). We never store your password.
Optionally, give your project a name:
Project name (optional): my-awesome-landing
The CLI will:
- ✓ Verify your
distfolder - ✓ Authenticate with 23blocks
- ✓ Package your files (HTML, CSS, JS, images)
- ✓ Upload to 23blocks platform
- ✓ Create an S3 bucket configured as a static website
- ✓ Return your live URL
═══════════════════════════════════════════════════
🎉 Deployment Successful!
═══════════════════════════════════════════════════
Your site is live at:
https://username.project.23blocks.com
Copy the URL and share it with the world!
- Authentication: You provide username/password → Platform returns JWT token (1-hour validity)
- Packaging: CLI zips your
distfolder (only web-safe files: HTML, CSS, JS, images) - Upload: Files sent to 23blocks API with your JWT token
- Validation: Platform verifies files (blocks executables and unsafe content)
- Deployment: Platform creates an S3 bucket, configures it as a static website
- DNS: Platform sets up subdomain routing
- Live: You get
username.project.23blocks.com
- No stored passwords: Credentials are only used to get a JWT token
- File validation: Platform blocks executables, scripts, and dangerous files
- Secure transport: All communication over HTTPS
- Token expiry: JWT tokens expire after 1 hour for security
- Config file: API URL saved locally in
.23blocks.config.json(gitignored)
When you run npm run deploy for the first time, the CLI creates .23blocks.config.json:
{
"apiBase": "https://api.23blocks.com"
}This file is automatically added to .gitignore so it won't be committed.
If you're using a custom 23blocks instance or testing locally:
# The CLI will ask on first run, or you can edit .23blocks.config.json
{
"apiBase": "https://my-custom-api.example.com"
}Already deployed? Just run npm run deploy again:
- Same project name → Updates existing deployment
- Different project name → Creates new deployment
- All old deployments remain accessible
Solution: Run npm run build first to create the production build.
npm run build
npm run deployPossible causes:
- Wrong username or password
- Account not activated
- API endpoint unreachable
Solution:
- Double-check your credentials
- Verify your account is active on 23blocks.com
- Check your internet connection
Cause: Your site is too large (over the upload limit)
Solution:
- Optimize images (use compressed formats)
- Remove unused assets
- Contact support for enterprise limits
Cause: Can't connect to 23blocks API
Solution:
- Check internet connection
- Verify API URL in
.23blocks.config.json - Check if platform is down: status.23blocks.com
Want to deploy multiple landing pages? No problem:
# Project 1
npm run build
npm run deploy
# Project name: landing-page-1
# Project 2
npm run build
npm run deploy
# Project name: landing-page-2Each gets its own URL:
username.landing-page-1.23blocks.comusername.landing-page-2.23blocks.com
Want to use your own domain? Contact 23blocks support to configure:
www.yourdomain.com→username.project.23blocks.com- SSL certificates included automatically
Automate deployments in your CI/CD pipeline:
# GitHub Actions, GitLab CI, etc.
npm run build
# Use environment variables for credentials
echo "$DEPLOY_USERNAME" | npm run deploy| Feature | 23blocks | Vercel | Netlify | AWS Amplify |
|---|---|---|---|---|
| Setup Time | 30 seconds | 5 minutes | 5 minutes | 10 minutes |
| Commands | 1 | 3+ | 3+ | 5+ |
| Account Required | Yes | Yes | Yes | Yes |
| GitHub Required | No | Optional | Optional | Optional |
| Config Files | None | vercel.json | netlify.toml | amplify.yml |
| Free Tier | Yes | Yes | Yes | 12 months |
| Custom Domain | Yes | Yes | Yes | Yes |
23blocks advantage: No config files, no GitHub connection needed, one command deployment.
23blocks platform offers:
- Free Tier: Perfect for testing ideas
- Pro Tier: More storage and bandwidth
- Enterprise: Custom domains, SLA, priority support
Check 23blocks.com/pricing for current rates.
Having issues? We're here to help:
- Email: support@23blocks.com
- Docs: docs.23blocks.com
- Status: status.23blocks.com
- Community: community.23blocks.com
- Create account on platform
- Connect GitHub repo
- Configure build settings
- Set environment variables
- Wait for build
- Check logs
- Debug issues
- Deploy
Time: 15-30 minutes per platform
- Run
npm run deploy - Enter credentials
- Done
Time: 30 seconds
That's 200% less friction. 🚀
Coming soon:
- Environment variables support
- Automatic SSL for custom domains
- Preview deployments
- Rollback to previous versions
- Analytics dashboard
- Team collaboration
This deployment CLI is part of The Landing Page project and is licensed under the MIT License.
Ready to deploy?
npm run deployWelcome to zero-friction deployment. 🎉