O

openstreetmap-website

2.7k stars·Developer Tools·SHA-256 checksum verified

The Ruby on Rails application powering the OpenStreetMap website and API.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Open-source backend for OpenStreetMap's website and API.

Core Features

  • User accounts, diary entries, and messaging
  • XML/JSON-based editing API
  • Browse pages for exploring map data
  • GPX upload and management

What It Can't Do

  • •Depends on external tile servers (e.g., OSM official). For production, you need to set up your own. Public API may have rate limits. Installation is complex; requires familiarity with Rails and PostgreSQL. Compared to frontend libraries like Leaflet or MapLibre, this project is fully compatible with the OSM ecosystem, can be deployed as an official mirror, and has a mature community and extensive documentation.

Use Cases

  • Self-hosting an OpenStreetMap mirror or custom map site
  • Learning Ruby on Rails application architecture
  • Developing map editing tools or API clients

Detailed Introduction

This is the official Ruby on Rails application that runs the OpenStreetMap website and its API. It includes user accounts, diary entries, messaging, an XML/JSON editing API, data browsing pages, and GPX upload/management. For development, it relies on publicly available map tile and geocoding services. Production deployments require additional services like a tile server. The code is released under GPL 2.0 and maintained by the OSM community.

Troubleshooting & FAQ (2)

Troubleshooting
How to fix a banner that stays visible after clicking close until the page is reloaded?

This affects banners configured in config/banners.yml, not the welcome banner. The close action applies inline display: none, but Bootstrap's d-md-block class applies display: block !important at medium widths and overrides it. As an end-user workaround, reload the page; the dismissal cookie then hides the banner. For the code fix, remove d-md-block when the close button is clicked in app/views/layouts/_banner.html.erb or its associated banner JavaScript: const banner = document.getElementById('banner'); banner.classList.remove('d-md-block'); banner.style.display = 'none';. If the banner uses d-none d-md-block, removing only d-md-block leaves d-none applied, which correctly hides it.

GitHub Issue #7079
best_practices
How can open source maintainers deal with zero-effort AI-generated pull requests?

Set clear contribution guidelines that require proof of local testing (e.g., screenshots, test output). Use automated CI checks to catch syntax errors. For PRs that show no effort, close with a polite template message asking the contributor to verify their changes and review the guidelines before resubmitting. Optionally, add a CONTRIBUTING.md file that explicitly discourages raw AI-generated submissions without human review.

GitHub Issue #6954

Tags

openstreetmaprailsapimappinggpsruby

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Clone the repo and configure PostgreSQL

4

Step 2: Install dependencies and run database migrations

5

Step 3: Start Rails server and visit localhost:3000

Install Guide
  1. Step 1: Clone the repo and configure PostgreSQL
  2. Step 2: Install dependencies and run database migrations
  3. Step 3: Start Rails server and visit localhost:3000
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Delete the project directory and drop the database. If using Docker, remove containers and images.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseGPL-2.0
Last Updated2026-10-12 04:16:05
GitHub Repository

Having issues? Check the FAQ below

2 FAQs

Similar Projects