Getting Started with App Platform
Deploy your web applications with a simple git push or GitHub auto-deploy. Our App Platform supports Node.js, Python, Go, Ruby, PHP, Java, Rust, .NET, Elixir, and any Docker container.
Quick Start
Step 1: Create Your App
- Log in to your Client Portal
- Go to Services > PaaS Apps
- Click New App and choose a name
Your app is created instantly with a unique URL: your-app.apps.colosoft.com
Step 2: Choose Your Deploy Method
Option A — GitHub Auto-Deploy (Recommended):
- Go to the GitHub tab in your app dashboard
- Enter your GitHub repository URL
- Select the branch to deploy (default:
main) - Enable Auto-Deploy
- Every push to that branch will auto-deploy your app
Option B — Git Push (SSH Key):
- Go to the SSH Keys tab
- Click Add SSH Key and paste your public key
- Get your key with:
cat ~/.ssh/id_ed25519.pub - Add the remote:
git remote add dokku [email protected]:your-app-name - Deploy:
git push dokku main
Step 3: Your App is Live!
- Auto-detected language and framework
- Dependencies installed automatically
- SSL certificate provisioned
- App accessible at
https://your-app.apps.colosoft.com
What Happens During Deploy
- Code received — via git push or GitHub webhook
- Language detected — Node.js, Python, Go, etc. (or Dockerfile)
- Dependencies installed — npm install, pip install, go mod download, etc.
- App built — compiled and optimized for production
- Health check — verifies app responds before routing traffic
- Zero-downtime switch — traffic moves to new version seamlessly
Supported Languages
| Language | Detection | Start Command |
|---|---|---|
| Node.js | package.json | npm start or Procfile |
| Python | requirements.txt or Pipfile | gunicorn or Procfile |
| Go | go.mod | Compiled binary |
| Ruby | Gemfile | bundle exec or Procfile |
| PHP | composer.json | php-fpm or Apache |
| Java | pom.xml or build.gradle | java -jar |
| Rust | Cargo.toml | Compiled binary |
| .NET | *.csproj | dotnet run |
| Dockerfile | Dockerfile | Your CMD/ENTRYPOINT |
Procfile
A Procfile in your project root tells the platform how to start your app:
web: node server.jsweb: gunicorn app:app --bind 0.0.0.0:$PORTYour app must listen on the port specified by the PORT environment variable.
Next Steps
- Set environment variables → Env Vars tab
- Add a custom domain → Domains tab
- Set up GitHub auto-deploy → GitHub tab
- Add your SSH key for git push → SSH Keys tab