Installer OpenStreetMap Tiles avec Docker
OpenStreetMap Tiles

Installer OpenStreetMap Tiles avec Docker

Table des matières

Attention, OpenStreetMap Tiles n'a pas la même vocation qu'OpenStreetMaps proposée ici.

⚠️ Jouer avec ce type de carte demande des ressources CPU et RAM conséquentes.

OpenMapTiles est un projet open source visant à créer des cartes du monde à partir de données ouvertes. Il s'agit d'un ensemble d'outils permettant à chacun de créer ses propres tuiles de carte vectorielle à partir des données OpenStreetMap pour l'hébergement, l'auto-hébergement ou une utilisation hors ligne.


L'installation

  1. On va créer les dossier nécessaires, placez vous dans le dossier ou vous installez toutes vos applications, dans mon exemple: /srv/appdata:
cd /srv/appdata/
  1. Créez les dossiers nécessaires:
sudo mkdir -p openstreetmap/maps
  1. Créez un volume Docker pour contenir la base de données PostgreSQL qui contiendra les données OpenStreetMap :
docker volume create osm-data
  1. Vous allez maintenant, si vous le voulez bien, aller télécharger le carte qui vous intéresse ici:
Geofabrik Download Server

Dans mon exemple je vais prendre la Belgique, c'est pas trop grand...

Tout d'abord, choisissez votre région:

upload in progress, 0

Puis votre pays:

upload in progress, 0

Cliquez droit sur le .osm.pbf et copiez le lien, que vous mettrez de côté.

  1. Rendez vous dans /srv/appdata/maps:
cd /srv/appdata/maps
  1. Téléchargez la carte avec le lien que vous avez mis de côté:
sudo wget https://download.geofabrik.de/europe/belgium-latest.osm.pbf

⚠️ Notez bien le nom complet du fichier .osm.pbf, dans mon cas: belgium-latest.osm.pbf

upload in progress, 0
  1. On va importer la map, veillez à entrer le nom complet du fichier .osm.pdf après le chemin /srv/appdata/openstreetmap/maps/:
docker run \
    -v /srv/appdata/openstreetmap/maps/belgium-latest.osm.pbf:/data/region.osm.pbf \
    -v osm-data:/data/database/ \
    overv/openstreetmap-tile-server \
    import

Validez avec la touche entrée pour lancer le processus qui peut prendre un peu de temps (Processing) suivant votre machine, c'est normal, avec mon i3 tout pourri il m'a fallu plus de 15 minutes pour que ce soit terminé.

Quand c'est terminé, cela ressemble à ça:

upload in progress, 0
  1. Allez dans le dossier ou sera installé OpenStreetMap:
cd /srv/appdata/openstreetmap/
  1. Créez votre docker-compose:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port, si nécessaire, suivant votre configuration:
version: '3'

services:
  map:
    image: overv/openstreetmap-tile-server
    volumes:
      - osm-data:/data/database/
    ports:
      - "8989:80"
    command: "run"
    restart: unless-stopped

volumes:
  osm-data:
    external: true
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8989 par défaut:
http://ip:8989/
upload in progress, 0
La Belgique en grand! 😼

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.