Web Applications
Deploy web applications from a Git repository. ZevCloud supports any language or framework that can run in a container.
Supported Frameworks
Section titled “Supported Frameworks”ZevCloud uses Nixpacks to auto-detect and build your application:
| Framework | Auto-Detected | Default Port |
|---|---|---|
| Next.js | ✅ | 3000 |
| React (Vite/CRA) | ✅ | 3000 |
| Express / Node.js | ✅ | 3000 |
| NestJS | ✅ | 3000 |
| Python (Django/Flask) | ✅ | 8000 |
| Go | ✅ | 8080 |
| Ruby on Rails | ✅ | 3000 |
| PHP / Laravel | ✅ | 8000 |
| Rust | ✅ | 8080 |
| Static HTML | ✅ | 80 |
Deploying from GitHub
Section titled “Deploying from GitHub”Public Repositories
Section titled “Public Repositories”- Add Service → Web Application → Public Repository
- Paste the repository URL (e.g.,
https://github.com/user/repo) - Select the branch
- Configure and deploy
Private Repositories
Section titled “Private Repositories”- Add Service → Web Application → Import from GitHub
- If not connected, click “Connect GitHub” to install the ZevCloud GitHub App
- Select your repository from the list
- Select the branch
- Configure and deploy
Build Configuration
Section titled “Build Configuration”ZevCloud auto-detects most settings, but you can customize:
| Setting | Description | Example |
|---|---|---|
| Build Command | Command to build your app | npm run build |
| Install Command | Command to install dependencies | npm ci |
| Start Command | Command to start your app | npm start |
| Output Directory | For static builds | dist, .next, build |
| Root Directory | If your app is in a subdirectory | packages/web |
| Port | Port your app listens on | 3000 |
These can be set during creation or updated in Service Settings.
Environment Variables
Section titled “Environment Variables”Set environment variables in the Variables tab of your service:
DATABASE_URL=postgres://user:pass@host:5432/dbNODE_ENV=productionAPI_KEY=sk_live_...Variables marked as secret are encrypted at rest and hidden in the UI.
Auto-Deploy on Push
Section titled “Auto-Deploy on Push”When you push to the configured branch, ZevCloud automatically:
- Receives a GitHub webhook
- Clones the latest code
- Builds using Nixpacks
- Deploys with zero-downtime rollout
- Sends an email notification (success or failure)
Disable auto-deploy in Service Settings → Build & Deploy.
Build Logs
Section titled “Build Logs”View real-time build logs in the Deployments tab. Each deployment shows:
- Git commit message and SHA
- Build duration
- Success or failure status
- Detailed build output
Resource Limits
Section titled “Resource Limits”Each plan provides different resource limits:
| Plan | Memory | CPU | Build Timeout |
|---|---|---|---|
| Free | 512 MB | 1 core | 10 min |
| Starter | 2 GB | 1 core | 20 min |
| Pro | 4 GB | 2 cores | 30 min |
| Business | 8 GB | 4 cores | 60 min |
Outbound network restrictions
Section titled “Outbound network restrictions”To keep the platform clean for everyone, customer containers are not allowed to make outbound connections on a few specific ports. The host blocks them at the firewall, so any code in your app that tries to reach these ports will time out.
- SMTP (25, 465, 587, 2525) — direct mail submission. Use a transactional email API (Resend, Mailgun, Postmark, SendGrid) over HTTPS instead. Their REST/HTTP endpoints are not blocked.
- IRC (6667, 6697) — typical command-and-control channels.
- Mining-pool stratum (3333, 4444, 5555, 7777, 14444) and Bitcoin RPC (8332, 8333).
Everything else (HTTPS to third-party APIs, your database, Redis, CDNs, webhooks) works normally. If you need to send email, switch to your provider’s HTTPS API.
Rollback
Section titled “Rollback”If a deployment fails or causes issues, you can redeploy a previous version from the Deployments tab.