The backend serves orchestration APIs, GitHub app endpoints, and internal APIs used by the UI. Use this page when you want to stop onlyDocumentation Index
Fetch the complete documentation index at: https://docs.opentaco.dev/llms.txt
Use this file to discover all available pages before exploring further.
orchestrator in Compose and run backend from source for faster changes.
Hybrid workflow (recommended)
make -C ... from repo root, or run make all-up from self-hosting/docker-compose.
If UI stays in Docker, point UI to host backend:
ORCHESTRATOR_BACKEND_URL=http://host.docker.internal:3000
ORCHESTRATOR_BACKEND_URL=http://localhost:3000 in ui/.env.local.
Quick start
- Create
backend/.envwith the essentials (adjust DB URL/ports):Optional but useful:GITHUB_APP_ID,GITHUB_APP_PEM,GITHUB_APP_WEBHOOK_SECRETif you already have an app.GITHUB_ORGif you want/github/setupto target an org.
- Start the service (from
backend/):Default port:3000.
Sync organization and user for UI flows
- The UI calls
/api/*and/github/*withAuthorization: Bearer $DIGGER_INTERNAL_SECRETandDIGGER_ORG_ID/DIGGER_USER_IDheaders. - You must upsert the WorkOS org + user the UI is authenticated as:
GitHub app integration
- For a quick install link, set
ORCHESTRATOR_GITHUB_APP_URLin UI config to your app install URL (https://github.com/apps/<app>/installations/new). - To create a new app via the backend, open
http://localhost:3000/github/setup(requiresPUBLIC_BASE_URLandINTERNAL_BASE_URLconfigured). - When using ngrok, callbacks should target the UI tunnel domain, not direct backend localhost URLs.
Troubleshooting
- 404 on /api/repos: ensure
DIGGER_ENABLE_API_ENDPOINTS=trueand the org/user above are created. - 401/403: verify
Authorizationheader usesDIGGER_INTERNAL_SECRET. - GitHub connect 404: set
ORCHESTRATOR_GITHUB_APP_URLas described.

