OpenStreetMap/Podoma

Da Wikimedia Italia.
Jump to navigation Jump to search

Software realizzato dai volontari OpenStreetMap francesi per tracciare i progressi del loro progetto del mese OSM, potrebbe tornare utile anche per il progetto del mese italiano:

Link utili

Istanza italiana

Setup in corso (deploy completato, necessario configurare i progetti).

Accessibile su https://osmit-podoma.wmcloud.org .

Deployato in WMF Cloud VPS, progetto osmit (Server#Altri_server_in_Wikimedia_Cloud), VPS osmit-podoma (OpenStack browser, Horizon). All'interno del VPS i componenti del sito sono deployati con Docker Compose da /home/dsantini/podoma/docker-compose.yml, è possibile controllare i servizi con sudo docker ps. Tutti i dati permanenti del sito sono all'interno dei volumi Docker che sono salvati nel volume Cloud VPS osmit-podoma-disk, montato in /mnt/volume. La dimensione attuale del volume è 50GB, attualmente a regime solo 15 GB sono occupati, ma in fase di inizializzazione/aggiornamento del DB più di 20GB sono occupati quindi NON ridurre la dimensione sotto i 30GB.

I dati nel DB sono aggiornati quotidianamente tramite cron root (sudo crontab -l per i dettagli).

Aspetti tecnici

Vedere la documentazione ufficiale.

Architettura e requisiti

Tre componenti:

  • Web server Podoma (NodeJS >= 24, Python 3, Osmium > 1.18, Imposm >= 3)
  • Database PostGIS (PostgreSQL >= 15)
  • Tile server (pg_tileserv)

Sono disponibili le configurazioni per il deploy con Docker Compose

Setup con Docker Compose

  1. Clonare la repo con git clone https://github.com/osm-fr/podoma.git
  2. Entrare nella cartella della repo e inizializzare i sottomoduli con git submodule update --init
  3. Creare config.json copiando e adattando OpenStreetMap/Podoma/config.json
  4. Configurare i progetti dei mesi nella cartella projects
  5. Eseguire docker compose build
  6. Avviare il DB con docker compose up -d pgsqldb
  7. Inizializzare il DB con docker compose run --rm pdm install
  8. Scaricare i dati OSM e caricarli sul DB con docker compose run --rm pdm init (è normale che richieda molto tempo)
  9. Avviare il server con docker compose up -d