Supported stacks
TycoonBox auto-detects your stack from git, or you can pick a template when creating an app.
Ruby
| Template |
Framework |
Notes |
| Rails |
rails |
Puma web, /up health |
| Rails + Solid Queue |
rails |
Web + bin/jobs worker |
| Rails + Sidekiq |
rails |
Web + Sidekiq worker |
| Hanami |
hanami |
Port 2300 |
| Sinatra / Rack |
ruby |
Generic Rack apps |
JavaScript / TypeScript
| Template |
Default port |
Notes |
| Node / Express |
3000 |
npm run build + start |
| Next.js |
3000 |
npm run start |
| Nuxt |
3000 |
Node server output |
| Remix |
3000 |
SSR |
| SvelteKit |
3000 |
Node adapter |
| NestJS |
3000 |
dist/main.js |
| Astro SSR |
4321 |
Server entry |
| Gatsby |
9000 |
npm run serve |
| RedwoodJS |
8910 |
yarn rw serve |
| AdonisJS |
3333 |
Node server build |
| TanStack Start |
3000 |
npm run start |
| Fastify / Hono / Koa |
3000 |
Node HTTP servers |
| React |
8080 |
CRA, Vite, or custom SPA |
| Vue |
8080 |
Vue CLI or Vite |
| Angular |
8080 |
ng build + serve |
| Preact / Svelte / SolidJS / Qwik |
8080 |
Vite or custom SPA |
| Lit / Mithril / Inferno / Marko / Riot / Alpine |
8080 |
Lightweight UI libs |
| Ember / Stencil |
8080 |
Component frameworks |
| Webpack / Rspack / Rollup / esbuild / Parcel |
8080 |
Native static deploy (Caddy serves dist/) |
| tsup |
3000 |
Node bundle |
| Bun |
3000 |
bun run start (lockfile or packageManager) |
| Elysia |
3000 |
Bun-native HTTP framework |
| Astro (static) |
8080 |
Static build + serve |
| Eleventy (11ty) |
8080 |
Native static deploy |
Python
| Template |
Default port |
Release command |
| Django |
8000 |
python manage.py migrate --noinput |
| Django + Celery |
8000 |
Web + Celery worker |
| Flask |
5000 |
flask db upgrade |
| FastAPI |
8000 |
alembic upgrade head |
PHP
| Template |
Default port |
Release command |
| Laravel |
8000 |
php artisan migrate --force |
| Laravel + Horizon |
8000 |
Web + Horizon worker |
| Symfony |
8000 |
Doctrine migrations |
Systems languages
| Template |
Default port |
| Go |
8080 |
| Rust |
8080 |
| Spring Boot |
8080 |
| .NET |
8080 |
| Phoenix (Elixir) |
4000 |
Static sites (native deploy)
Hugo, Jekyll, Vite SPA, and plain static folders use native static deploy — Caddy serves the built files.
Sample apps (no git required)
From the dashboard, deploy a one-click demo:
- Rails — Sinatra + Puma (
demo-rails)
- Node — Express (
demo-node)
- Next.js — App Router (
demo-next)
- React — Vite SPA (
demo-react)
- Preact — Vite SPA (
demo-preact)
- Svelte — Vite SPA (
demo-svelte)
- Remix — SSR (
demo-remix)
- Astro — static site (
demo-astro)
- Angular — CLI SPA (
demo-angular)
- Python — FastAPI (
demo-python) or Django (demo-django)
- PHP — Laravel/PHP (
demo-laravel)
- Go — stdlib HTTP (
demo-go)
- Elixir — Plug/Cowboy (
demo-phoenix)
- Rust — tiny_http (
demo-rust)
- Java — Spring Boot (
demo-spring)
- .NET — ASP.NET Core (
demo-dotnet)
- Static — Vite SPA (
demo-vite), Hugo (demo-hugo), or Jekyll (demo-jekyll)
Built-in templates ship from demos/ in the panel image — no external git needed for staging. For production, run bin/publish-demos 21tycoons.
Auto-detect signals
| File |
Detected stack |
Gemfile + rails |
Rails (+ Sidekiq/Solid Queue if present) |
Gemfile + hanami |
Hanami |
Gemfile + sinatra |
Sinatra |
package.json + next |
Next.js |
package.json + nuxt / nuxt.config.* |
Nuxt |
package.json + @remix-run/* |
Remix |
package.json + @sveltejs/kit |
SvelteKit |
angular.json or @angular/core |
Angular |
package.json + vue (not Nuxt) |
Vue |
package.json + react-scripts or react |
React |
package.json + preact |
Preact |
package.json + svelte (not Kit) |
Svelte |
package.json + solid-js |
SolidJS |
package.json + @builder.io/qwik |
Qwik |
package.json + lit |
Lit |
package.json + gatsby |
Gatsby |
package.json + @nestjs/core |
NestJS |
package.json + fastify / hono / koa |
Node HTTP server |
package.json + vite (no meta-framework) |
Vite SPA |
webpack.config.* or webpack / webpack-cli |
Webpack |
rspack.config.* or @rspack/core |
Rspack |
rollup.config.* or rollup |
Rollup |
package.json + esbuild |
esbuild |
package.json + tsup |
tsup |
package.json + parcel / @parcel/core |
Parcel |
bun.lock / bun.lockb / packageManager: bun |
Bun runtime |
package.json + elysia / @elysiajs/core |
Elysia |
Lockfile / packageManager field |
Install via bun, pnpm, yarn, or npm (auto) |
package.json + @11ty/eleventy |
Eleventy |
package.json + astro + node adapter |
Astro SSR |
package.json + astro (no node adapter) |
Astro (static) |
package.json + mithril / inferno / marko / riot / alpinejs |
Tiny UI frameworks |
manage.py |
Django |
requirements.txt + fastapi |
FastAPI |
composer.json + laravel/framework |
Laravel |
mix.exs + :phoenix |
Phoenix |
go.mod |
Go |
Cargo.toml |
Rust |
*.csproj |
.NET |
| Unrecognized layout |
Generic managed deploy (buildpacks or manifest) |
See Deploy your first app for health checks and git setup.