Overpass API

Overpass API

A self-hosted Overpass API service for querying OpenStreetMap data, with a web management panel for download task management and API monitoring.

⭐230GitHub
Description

# Overpass API - Lazycat App A lazycat application based on [wiktorn/Overpass-API](https://github.com/wiktorn/Overpass-API), providing OpenStreetMap Overpass API service with initial data loading and incremental updates. ## Features - πŸ—ΊοΈ **Overpass API Service**: Full OSM data query API - 🌍 **Web Region Selection**: Select and switch data regions via the management UI - πŸ“₯ **Flexible Data Loading**: HTTP/FTP/BitTorrent support for initial data - πŸ”„ **Incremental Updates**: Automatic data updates from OSM diff sources - πŸ“Š **Web Management UI**: Monitor API status, download progress, storage usage - ⚑ **aria2 Download Engine**: High-performance multi-protocol download manager - πŸ”§ **Automatic PBF Conversion**: Auto-detects PBF format and converts to BZ2 with progress display ## Architecture The app consists of three containers: | Container | Description | |-----------|-------------| | **overpass-api** | Main Overpass API service (based on wiktorn/overpass-api image) | | **aria2** | Download manager supporting HTTP/FTP/BT protocols | | **manager** | Web management UI for monitoring and controlling services | ## Configuration | Parameter | Description | Default | |-----------|-------------|---------| | `OVERPASS_META` | Metadata mode: `no`=no metadata (smallest), `yes`=with metadata, `attic`=with historical data (largest) | `no` | | `OVERPASS_COMPRESSION` | Data compression: `gz` (balanced) or `lz4` (faster, larger) | `gz` | | `OVERPASS_UPDATE_SLEEP` | Incremental update check interval (seconds) | `3600` | | `OVERPASS_RULES_LOAD` | Area generation intensity (1-100) | `10` | | `OVERPASS_RATE_LIMIT` | Max concurrent accesses per IP | `2` | | `ARIA2_RPC_SECRET` | aria2 RPC secret | Auto-generated | | `ARIA2_ENABLE_IPV6` | Enable IPv6 for downloader | `true` | ## Usage ### First Deployment 1. After deploying, access the management UI 2. Select a data region in the "Regions" tab (e.g., China, Europe, etc.) 3. The system will automatically download the region data via aria2 4. Once downloaded, Overpass API will process the data and start the service 5. You can switch regions or add custom regions at any time ### API Queries The Overpass API is accessible at (no authentication required): ``` https://overpass.<your-domain>/api/interpreter?data=<query> ``` Example query: ``` [out:json]; node["amenity"="restaurant"](bbox); out body; ``` ### Management UI Access the management UI at `https://overpass.<your-domain>/` to view: - **Dashboard**: Service status overview (with preprocessing progress) - **Regions**: Region data selection and management (catalog or custom URL) - **Downloads**: Download task management (pause/resume/remove) - **Overpass API**: API health status and logs (including preprocessing logs) ## Data Regions Select regions in the "Regions" tab of the management UI. ### Proxy Configuration You can specify an HTTP proxy (e.g., `http://proxy:8080`) when adding downloads or selecting regions. The proxy is optional β€” aria2 will download directly if not specified. Use cases: - Network restrictions when downloading from Geofabrik or other foreign sources - Need to access external resources through an internal proxy ## Storage Requirements - Database directory: 5GB ~ 200GB depending on region - Downloads directory: Temporary storage, similar size to database ## Notes - Initial data loading may take hours (depending on region size and network speed) - BT download is recommended for large regions for better download speeds - Incremental updates run hourly by default, adjustable via `OVERPASS_UPDATE_SLEEP` - Keep `OVERPASS_RATE_LIMIT` at the default value of 2; setting it to 0 causes some clients (e.g., OSMnx) to fail querying

Screenshots
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
App Information
Version
0.7.62
Package Size
14.21 MB
Updated
May 27, 2026
Source Code
wiktorn
Platform Support
PC
Keywords
OverpassOpenStreetMap