This guide walks you through spinning up a complete HOT Tasking Manager stack — PostgreSQL/PostGIS database, FastAPI backend, and React frontend — on your local machine using Docker Compose. By the end you will have a running instance, an interactive API explorer, and you will know how to authenticate API requests with your own token.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/hotosm/tasking-manager/llms.txt
Use this file to discover all available pages before exploring further.
Install Docker Engine
HOT Tasking Manager ships as a fully containerised application. The only prerequisite is Docker Engine (which includes Docker Compose v2). Verify your installation:Both commands should return version strings without errors.
Copy the Environment File
The repository ships with a fully-documented example environment file. Copy it to the name the application expects:The new file contains sensible defaults for local development. The sections below walk through the values you must set before starting the stack.
Register an OSM OAuth2 Application
Tasking Manager uses OpenStreetMap’s OAuth 2.0 system for user authentication. You need to register a developer application on openstreetmap.org to obtain credentials.
- Log in to openstreetmap.org (create a free account if you do not have one).
- Open the dropdown on the top-right of the navigation bar and select My Settings.
- Navigate to OAuth 2 applications and click Register new application.
- Fill in the form:
- Name: anything descriptive, e.g.
Tasking Manager Local Dev - Redirect URIs:
http://127.0.0.1:3000/authorized - Permissions: enable Read user preferences (
read_prefs) and Modify the map (write_api)
- Name: anything descriptive, e.g.
- Submit the form and copy the Client ID and Client Secret that are shown.
tasking-manager.env and set the three OAuth variables:Start the Stack
With the environment file configured, bring up all services (database, migration runner, backend API, cron jobs, frontend, and Traefik reverse proxy) in detached mode:Docker will pull the pre-built images on the first run. The database migration container (Wait until you see the backend report that it is healthy (the
tm-migration) runs automatically before the backend starts. You can follow the logs while everything initialises:tm-backend healthcheck polls /api/docs).Open the Frontend
Once all containers are healthy, open your browser and navigate to:You will see the Tasking Manager home page. Click Log in in the top-right corner to authenticate via OpenStreetMap OAuth2 using the application you registered in Step 4.
Explore the Interactive API Docs
The FastAPI backend serves a Swagger UI at:Every endpoint is documented with request/response schemas and can be exercised directly from the browser. The raw OpenAPI JSON schema is available at
http://127.0.0.1:3000/api/openapi.json.Make Your First API Call
The system statistics endpoint requires no authentication and returns aggregate project and mapping statistics — a useful smoke-test to confirm the stack is healthy end-to-end:A successful response looks like:You can also hit the heartbeat endpoint to verify the backend process itself is alive:
Obtain an API Token for Authenticated Requests
Many API endpoints require an You can also pass it in the Swagger UI: click Authorize at the top of the
Authorization header. The easiest way to obtain your personal API token is through the browser:- Log in to your local instance at
http://127.0.0.1:3000. - Click your username in the top-right corner to open your profile.
- Go to Settings and enable Expert Mode.
- Scroll to the API Key section and copy the token displayed there.
curl requests using the Token scheme:/api/docs page and enter Token <your-api-key>.Frontend-only development? If you only want to work on the React UI and do not need a local backend, point the frontend at the HOT staging API instead of running the full stack. In Then start only the frontend service:Be aware that the staging API may be temporarily unavailable during HOT deployments and that some administrative views may be inaccessible due to permissions.
tasking-manager.env, set:What’s Next?
Development Setup
Configure the React frontend and FastAPI backend as standalone processes for a full local development workflow.
API Overview
Learn about the REST API structure, authentication model, and key endpoint groups.