Flisk logoflisk/demosHow it worksGitHubSponsor

Personal Flisk demo

@yourhandle's Flisk stack

Upvoting lifts this stack toward the top of the list on the home page. One vote per browser. You can also pop a stack's bubble there to vote for it.

Progress

  1. ✓
    Plan ready
  2. ✓
    Scaffolding with flisk
  3. ✓
    Repo pushed
  4. ○
    Starting flisk up on a GitHub runnerAll live runners are busy, so this one stays static.
  5. ○
    Live

Run it on your own machine: the commands are in Run it above, or try the live run again.

Try the live run again

While yours builds, see other stacks

Why this stack

saleor integration

This stack uses placeholder .env keys for saleor. A real saleor integration is built by hand, the way we did for Thor Commerce. We've logged a request for it.

Stack diagram

webfrontendapibackendapi-migratormigratorpostgresdatabase

Browser → web → api → Postgres. Workers and migrators share the same database. Traefik routes every service on *.localhost.

Run it

Fork puts this stack in your own GitHub account, ready to change. On the fork page, untick "Copy the main branch only", then open the branch demo/yourhandle-store-635bea. Then flisk doctor and flisk up run it on your machine.

Or use the commands
npm install -g @flisk-sh/flisk
git clone -b demo/yourhandle-store-635bea https://github.com/flisk-sh/demos.git store-demo
cd store-demo
cp .env.example .env
flisk doctor
flisk up
Or scaffold it yourself
npm install -g @flisk-sh/flisk
flisk doctor
flisk project --yes
flisk resource web --type frontend --stack store --framework vue --yes
flisk resource api --type backend --stack store --feature prisma --yes
flisk up store
flisk status

Open after flisk up

If port 80 is busy, Flisk picks 8080–8180; flisk status shows the exact address.

.env.example

Copy to .env and fill in your keys. It never leaves your machine.

SALEOR_API_URL=
SALEOR_API_KEY=

Your service.json files

One service.json each. Postgres comes from "prisma" and Traefik routing is built in, so neither needs its own file.

webfrontendvue app
// services/store/web/service.json
{
  "$schema": "https://flisk.sh/schema.service.json",
  "schemaVersion": 1,
  "appName": "web",
  "appType": "frontend",
  "stack": "store",
  "port": 3000,
  "framework": "vue",
  "dependsOn": [
    "api"
  ]
}
apibackendbackend-for-frontend: the only service holding saleor keys
// services/store/api/service.json
{
  "$schema": "https://flisk.sh/schema.service.json",
  "schemaVersion": 1,
  "appName": "api",
  "appType": "backend",
  "stack": "store",
  "port": 4000,
  "healthCheckPath": "/health",
  "dependsOn": [
    "api-migrator"
  ],
  "featuresEnabled": [
    "prisma"
  ]
}
api-migratormigratorruns Prisma migrations against the shared Postgres before the api starts
// services/store/api-migrator/service.json
{
  "$schema": "https://flisk.sh/schema.service.json",
  "schemaVersion": 1,
  "appName": "api-migrator",
  "appType": "migrator",
  "stack": "store"
}

Make it yours

This stack is a plain git branch. Copy it, change any service.json or the code, and run it on your machine. Send your version back and we can show it here.

1. Copy the branch: the clone command is in Run it above.

2. Put it in your own repository (needs the GitHub CLI)

cd store-demo && rm -rf .git && git init -q -b main && git add -A && git commit -qm "my store" && gh repo create my-store-demo --source . --push --private

Add a badge to your README

Flisk bubble badge

Show that this stack is a Flisk bubble. The badge links back here and shows the upvotes.

Copy the markdown
[![Flisk bubble](https://demo.flisk.sh/badge/yourhandle-store-635bea.svg)](https://demo.flisk.sh/d/yourhandle-store-635bea)

Share it

Opens a ready-made post on X. You read it and send it yourself; nothing is posted for you.

Want one for a friend?

Ask @grok on X with their handle and what they build.