Configuration
Postwright is configured with environment variables (for a self-managed deployment) or through the settings UI into an encrypted store (in a packaged install). Here are the ones that matter most, grouped by concern. The installer sets these for you.
In a packaged install you never edit a file — the setup UI collects these and stores them encrypted. The variable names below are useful if you’re configuring Postwright by hand or want to know exactly what a given feature needs.
Core
| Variable | What it does |
|---|---|
OBSIDIAN_VAULT_PATH | Your content folder. The one truly required setting — unset, Postwright starts in setup mode. |
PORT | Server port (default 8002). |
DB_PATH | Local database file (default ./data/postwright.db). |
Blog publishing
For the Git path (see How publishing works). Point Postwright at the repo your site builds from and enable pushing to trigger your host’s deploy.
| Variable | What it does |
|---|---|
STEP_ZERO_REPO_PATH | Local checkout of the repo your site deploys from. Unset → stub mode (nothing is written). |
STEP_ZERO_PUSH_ENABLED | When true, git-pushes after committing — which triggers your host’s deploy (default false). |
STEP_ZERO_BASE_URL | Your site’s public URL, used for canonical links and to confirm the post went live. |
These STEP_ZERO_* names are legacy (Postwright grew out of that project); a future release renames them. In the packaged product the publisher is chosen per brand — Git, folder, webhook, or none.
Newsletter
| Variable | What it does |
|---|---|
RESEND_API_KEY | Resend API key. |
RESEND_DOMAIN | Your verified Resend sending domain. |
MAILGUN_API_KEY / MAILGUN_DOMAIN | Use Mailgun instead of Resend, per brand. |
NEWSLETTER_TEST_EMAIL | Where the send-a-test-first preview goes. |
Social platforms
| Variable | What it does |
|---|---|
BROWSER_PROFILE_PATH | Where the logged-in LinkedIn browser session is kept (default ./data/browser-profile). |
FB_PAGE_ID / FB_PAGE_ACCESS_TOKEN | Facebook Page publishing via the Meta Graph API. |
IG_BUSINESS_ACCOUNT_ID / IG_ACCESS_TOKEN | Instagram Reels and feed via the Meta Graph API. |
THREADS_ACCESS_TOKEN / THREADS_USER_ID | Threads via the Threads Graph API. |
YOUTUBE_CLIENT_ID / _SECRET / _REFRESH_TOKEN | YouTube uploads via the YouTube Data API. |
AI & media
| Variable | What it does |
|---|---|
CLAUDE_CLI_PATH | Path to the Claude Code CLI (default claude). Postwright’s drafting uses your existing Claude Code subscription — no separate API key. |
GOOGLE_GENAI_API_KEY | Optional. Powers AI social art (Gemini / Imagen). |
UNSPLASH_ACCESS_KEY / PIXABAY_API_KEY | Optional stock-photo sources for blog hero images. |
This is the high-value subset. The full reference — SEO providers, analytics, the video pipeline’s tuning knobs, and editorial intelligence weights — ships with the app in
docs/configuration.md.