Setup

Ghostwriter is easiest to start with Docker. The current project already ships a local-first setup path, so the website should reflect the real flow instead of inventing a hosted onboarding story.

Prerequisites

  • Docker and Docker Compose
  • An API key for OpenAI or Gemini

1. Configure the environment

cd ghostwriter
cp .env.example .env

Set your provider and credentials in .env:

AI_PROVIDER=openai
OPENAI_API_KEY=sk-...

You can also choose gemini. Adjust timezone and schedule values while you are there.

2. Start Ghostwriter

docker compose up -d

Verify the service:

curl http://localhost:8080/health

Then open http://localhost:8080.

3. First-run setup

On the first run:

  1. Create the first user account. That account becomes the admin.
  2. Open Settings → API Tokens.
  3. Create API tokens for the mobile clients you want to connect.

What to do next

  • Add your feeds in the web UI
  • Trigger a digest manually to verify the pipeline
  • Connect any clients you want to use with API tokens
  • Experiment with podcast generation in Settings if you want audio output