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
- 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/
- Créez les dossiers nécessaires:
sudo mkdir -p openstreetmap/maps
- Créez un volume Docker pour contenir la base de données PostgreSQL qui contiendra les données OpenStreetMap :
docker volume create osm-data
- Vous allez maintenant, si vous le voulez bien, aller télécharger le carte qui vous intéresse ici:
Dans mon exemple je vais prendre la Belgique, c'est pas trop grand...
Tout d'abord, choisissez votre région:
Puis votre pays:
Cliquez droit sur le .osm.pbf et copiez le lien, que vous mettrez de côté.
- Rendez vous dans /srv/appdata/maps:
cd /srv/appdata/maps
- 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
- 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:
- Allez dans le dossier ou sera installé OpenStreetMap:
cd /srv/appdata/openstreetmap/
- Créez votre docker-compose:
sudo nano docker-compose.yml
- 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
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8989 par défaut:
http://ip:8989/