Configure

Infrastructure as code

Describe services, databases, and environments in one versioned config file.

stack.yaml
  1. 1services:
  2. 2 - type: web
  3. 3 name: storefront
  4. 4 runtime: node
  5. 5databases:
  6. 6 - name: storefront-db

Your architecture, reviewed like code

Keep every service, database, and setting in your repository, next to the code that runs on it.

  • Versioned in Git

    Every change to your infrastructure has an author, a diff, and a review.

  • One file, whole stack

    Web services, workers, cron jobs, databases, and shared variables in one place.

  • Repeatable environments

    Create staging and preview stacks that match production exactly.

  • Secrets stay out of Git

    Reference secrets by name. Values live in encrypted variable sets.

From file to running stack

Commit a config file and the platform keeps your infrastructure in sync with it.

  • Web service
  • Worker
  • Cron job
  • Postgres

Configuration

A config file you can read

Plain YAML with sensible defaults. Start with a few lines and add detail as your stack grows.

  • Schema validation in your editor
  • Variable sets shared across services
  • Plans shown on every pull request
          
            
                1
                variableSets:
              
                2
                  - name: shared
              
                3
                    envVars:
              
                4
                      - key: LOG_LEVEL
              
                5
                        value: info
              
                6
                 
              
                7
                services:
              
                8
                  - type: web
              
                9
                    name: storefront
              
                10
                    runtime: node
              
                11
                    buildCommand: npm ci && npm run build
              
                12
                    startCommand: npm start
              
                13
                    variableSets: [shared]
              
                14
                  - type: cron
              
                15
                    name: nightly-report
              
                16
                    schedule: "0 2 * * *"
              
                17
                    startCommand: npm run report
              
                18
                 
              
                19
                databases:
              
                20
                  - name: storefront-db
              
                21
                    plan: pro
              
          
        

Why keep infrastructure in your repository

Settings that live only in a dashboard are hard to review, hard to copy, and easy to lose. With your stack in a config file, every change goes through the same pull request process as your code, and a new environment is one command away.

What the file can describe

The config covers everything the platform runs for you. Anything you can set in the dashboard has a matching field in the file.

  • Web services, private services, workers, and cron jobs
  • Managed Postgres and in-memory caches
  • Variable sets, domains, and scaling rules

Working with the dashboard

You can still make quick changes in the dashboard. When the live stack drifts from the file, you see a warning and can either update the file or let the next sync reset the change.

Free tier · No credit card

Push code today. Be live before your coffee cools.

Connect a repository, pick a region, and get a production URL with HTTPS, logs, and autoscaling already switched on.

$ git push origin main

  1. Build34 s
  2. Deploy12 s
  3. Health checks3 s

your-app.example.com

Buy NowTheme Details