Run Prosewire locally
Bring up the dashboard, background worker, and Postgres in a few minutes.
This guide is for local development from source. For a production instance, use the Docker Compose guide and do not reuse the example credentials.
Prerequisites
- Node.js 24+
- pnpm 11+
- Docker Desktop or Docker Engine
- Git
Clone and start
Clone the repository, install the workspace, start Postgres, then run all development processes.
git clone https://github.com/prosewire/prosewire.git
cd prosewire
cp .env.example .env
pnpm install
pnpm dev:services
pnpm devThe first boot applies the committed database migrations and seeds a local workspace.
pnpm dev starts the web app, background worker, and documentation site through the workspace task runner. Use pnpm dev:web when only the dashboard and APIs are needed.
Open the dashboard
Visit http://localhost:3000 and sign in with the local development account:
Email: admin@prosewire.local
Password: prosewire-local-devPublish your first post
- Open Content, then choose New post.
- Add a title and body. The slug and reading time update automatically.
- Review the content checks, then publish immediately or schedule a future time.
- Open the Fieldnotes blog to verify the public, server-rendered article.
Use the workspace and publication selectors in the sidebar to move between tenants. Development seeds one owner and one publication; additional publications can be created in Settings.
Verify the runtime
Check that the web process can reach Postgres:
curl --fail http://localhost:3000/api/healthThe response should report "status":"ok". Then open the Fieldnotes reader from the dashboard and confirm the published sample posts appear while the draft and future scheduled post remain private.
Stop local services
Stop pnpm dev with Ctrl+C, then stop the supporting container:
docker compose -f docker-compose.yml -f docker-compose.dev.yml downThe named Postgres volume is retained. Add --volumes only when you intentionally want to delete local database data.
Local configuration is not production configuration
The example authentication secret, Postgres password, administrator account, and optional seed key are development values. Production web startup does not run migrations or create the local administrator, API key, or sample posts. See the configuration map before deploying.