Skip to content

Configuration Files

github-actions[bot] edited this page Oct 22, 2026 · 2 revisions

Each site's configuration lives in its own folder in deployments/, named after its site repository. The folder is gitignored, and nothing under it can be committed (the git hooks refuse it).

deployments/
  my-site/
    alasin.toml        the site's Alasin settings (see Configuration)
    wrangler.toml      the Worker's settings: name, buckets, KV, rate limits
    create-site.json   only for a site create-site made: its answers and what it made
    .dev.vars*         only for running Alasin locally (see Development)
    site/              a clone of the site repository (create-site makes it)

A site with a test environment has it as [env.dev] in both files. A deployment that serves several sites also has a sites/ folder, with one <id>.toml per site.

Several deployments in one clone

Choose the site with --site (or ALASIN_SITE):

npm run sites                      # lists the deployments with their sites, Workers and app addresses
npm run deploy -- --site my-site

Without --site, the commands use ./alasin.toml. If there's none and deployments/ has exactly one site, they use that one and say so; with several, they ask for --site.

Backing up

Apart from .dev.vars files, nothing in deployments/ is secret: Worker secrets stay in Cloudflare. It is untracked, though, so git clean -x deletes it. Back up each alasin.toml, or keep the configuration in a separate private repository and point the commands at it:

npm run deploy -- --config ../my-site-alasin/alasin.toml    # or ALASIN_CONFIG=…

(wrangler.toml is looked up next to that alasin.toml; override with --wrangler-config or WRANGLER_CONFIG.)

Every option of alasin.toml is in Configuration; the bindings and rate limits of wrangler.toml are explained in wrangler.example.toml.

Clone this wiki locally