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, usato anche dagli italiani per tracciare i progressi del progetto del mese italiano:

Link utili

Istanza italiana

Accessibile su https://osmit-podoma.wmcloud.org . Qui l'annuncio su OSM Community.

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:

Container Esposto Note
pgsqldb No Database del server
pdm https://osmit-podoma.wmcloud.org Sito web vero e proprio
pdm-tileserv https://osmit-podoma-tiles.wmcloud.org Tile server, necessario per la visualizzazione delle statistiche sulla mappa nel sito
pgadmin https://osmit-podoma-pgadmin.wmcloud.org Permette di esplorare e amministrare il DB. Normalmente spento, per usarlo va acceso con sudo docker compose --profile pgadmin up -d pgadmin

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 è 75GB, attualmente a regime solo 15 GB sono occupati, ma in fase di inizializzazione/aggiornamento del DB più di 40GB sono occupati quindi fare molta attenzione prima di ridurre la dimensione.

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

  • Clonare la repo con git clone https://gitlab.wikimedia.org/repos/wikimedia-it/osmit-podoma.git --branch italia
  • Entrare nella cartella della repo e inizializzare i sottomoduli con git submodule update --init
  • Creare config.json con cp config.italia.json config.json e modificarlo aggiungendo i secret
  • Compilare le immagini docker con docker compose build
  • Avviare il DB con docker compose up -d pgsqldb
  • Inizializzare il DB con docker compose run --rm pdm install
  • Scaricare i dati OSM e caricarli sul DB con docker compose run --rm pdm init (è normale che richieda molto tempo, anche varie ore)
  • Avviare il server con docker compose up -d