Personal Flisk demo · preview
@yourhandle's Flisk stack
Saving is paused for a few hours
So many people asked for a stack today that we reached the free daily storage limit. Your plan below is ready and free to use: copy the commands or the service.json files and run it on your machine now. The repo build and the live run come back after the limit resets at 00:00 UTC (in about 11 hours). Open this same link again then.
popped 0Pop some bubbles.
- webfrontend
- apibackend
- api-migratormigrator
- jobsworker
Why this stack
- jobs · cron
- cache · redis
- realtime · websocket, chat
Stack diagram
Browser → web → api → Postgres. Workers and migrators share the same database. Traefik routes every service on *.localhost.
Run it
npm install -g @flisk-sh/flisk flisk doctor flisk project --yes flisk resource web --type frontend --stack app --framework react --yes flisk resource api --type backend --stack app --feature prisma redis websocket --yes flisk resource jobs --type worker --stack app --feature nats --yes flisk up app flisk status
Docs
- Quick startinstall, verify and boot a working stack
- service.json referenceevery field in the manifests above
- Required scriptspackage.json scripts per service type
- Agent skillslet Claude Code, Codex or Cursor drive Flisk
- Flisk on GitHubsource, issues and releases
- Tilt docsthe dev UI in the Tilt tab
Your service.json files
One service.json each. Postgres comes from "prisma" and Traefik routing is built in, so neither needs its own file.
webfrontendreact app
// services/app/web/service.json
{
"$schema": "https://flisk.sh/schema.service.json",
"schemaVersion": 1,
"appName": "web",
"appType": "frontend",
"stack": "app",
"port": 3000,
"framework": "react",
"dependsOn": [
"api"
]
}apibackendbun + hono API
// services/app/api/service.json
{
"$schema": "https://flisk.sh/schema.service.json",
"schemaVersion": 1,
"appName": "api",
"appType": "backend",
"stack": "app",
"port": 4000,
"healthCheckPath": "/health",
"dependsOn": [
"api-migrator"
],
"featuresEnabled": [
"prisma",
"redis",
"websocket"
]
}api-migratormigratorruns Prisma migrations against the shared Postgres before the api starts
// services/app/api-migrator/service.json
{
"$schema": "https://flisk.sh/schema.service.json",
"schemaVersion": 1,
"appName": "api-migrator",
"appType": "migrator",
"stack": "app"
}jobsworkerbackground work: jobs, cron
// services/app/jobs/service.json
{
"$schema": "https://flisk.sh/schema.service.json",
"schemaVersion": 1,
"appName": "jobs",
"appType": "worker",
"stack": "app",
"port": 4100,
"dependsOn": [
"api-migrator"
],
"featuresEnabled": [
"nats"
]
}Note: No frontend framework named, so this uses React. Say vue, svelte or solid to switch.
Want one for a friend?
Ask @grok on X with their handle and what they build.