Run DarkDuck locally with zero external dependencies.
Prerequisites
Start Dev Server
This starts:
API server at http://localhost:3100
UI served by the API server in dev middleware mode (same origin)
No Docker or external database required. DarkDuck uses embedded PostgreSQL automatically.
One-Command Bootstrap
For a first-time install:
This does:
Auto-onboards if config is missing
Runs darkduck doctor with repair enabled
Starts the server when checks pass
Tailscale/Private Auth Dev Mode
To run in authenticated/private mode for network access:
Tailscale flag
Authenticated private alias
pnpm dev --tailscale-auth
This binds the server to 0.0.0.0 for private-network access.
Allow additional private hostnames:
pnpm darkduck allowed-hostname dotta-macbook-pro
For full setup and troubleshooting, see Tailscale Private Access .
Health Checks
Verify the server is running:
curl http://localhost:3100/api/health
# -> {"status":"ok"}
curl http://localhost:3100/api/companies
# -> []
Reset Dev Data
To wipe local data and start fresh:
rm -rf ~/.darkduck/instances/default/db
pnpm dev
This deletes all companies, agents, tasks, and run history. There is no undo. Back up your data directory first if you need to preserve anything.
Data Locations
Data Path Config ~/.darkduck/instances/default/config.jsonDatabase ~/.darkduck/instances/default/dbStorage ~/.darkduck/instances/default/data/storageSecrets key ~/.darkduck/instances/default/secrets/master.keyLogs ~/.darkduck/instances/default/logs
Override with environment variables:
DARKDUCK_HOME = /custom/path DARKDUCK_INSTANCE_ID = dev pnpm darkduck run
Use separate instance IDs to run multiple DarkDuck instances on the same machine without data conflicts. Each instance gets its own config, database, and storage.
Multiple Instances
Run isolated instances by specifying different instance IDs:
# Production-like instance
DARKDUCK_INSTANCE_ID = prod pnpm darkduck run
# Experimental instance
DARKDUCK_INSTANCE_ID = experiment pnpm darkduck run --port 3200
Each instance stores data under ~/.darkduck/instances/<id>/.