Skip to content

Services

A service is a container StackBlaze builds and runs. Add one from the canvas with + Service. Source is a Git repository, a Docker image, or a template. Databases are services on the same board.

Web, worker, and cron are settings on a service (public domain, no domain, or a schedule) — not separate products.

Service types in one project Web public HTTPS Worker no ingress Cron scheduled Postgres add-on Redis add-on private network | shared blueprint.yaml | one bill per project

The default. The container stays running. Use this for HTTP APIs, frontends, queue consumers, and anything that must not exit.

A cron job runs until completion on a cron expression, then exits. Same build path as always-on services.

From + Service → Databases, provision Postgres, Redis/Valkey, MySQL, and other managed engines. They join the environment’s private network. Wire connection strings with variables (fromDatabase in config as code).

  1. Open a project. You are on the environment canvas (production unless you switched).

  2. Click + Service and pick a source:

    • Git repository — GitHub or a public git URL
    • Docker images — registry image
    • Templates — a pre-wired stack
    • Databases — managed engine
    • Import — Compose, render.yaml, or fly.toml
  3. Review the staged change and Deploy.

If a Dockerfile is in the repo, StackBlaze uses it. Otherwise Nixpacks detects the runtime from files such as package.json or requirements.txt. Override install, build, and start commands in the service sheet.

Change source later from the service Settings tab.

Set a root directory so one repo can back several services. See Monorepo.