GeoServer avec le service PaaS Heroku

Objectif : déployer une app Heroku basée sur le conteneur de servlet Tomcat pour exécuter GeoServer

Démarche en 20 minutes (si tout va bien) :

Télécharger aussi le script initdb.postgres.sql du dossier suivant https://drive.switch.ch/index.php/s/iIcVsQhGsqraetK

Télécharger la Web Archive “custom” geoserver.war du même dossier

Pendant ce téléchargement, exécuter le script SQL dans une BD PostgreSQL sous Heroku (celle déployée avec PostGIS ou une autre instance) --- le script initialise une série de tables et de vues qui seront utilisées par GeoServer pour gérer sa configuration interne

Dans l'archive geoserver.war configurer le fichier /data/jdbcconfig/jdbcconfig.properties en utilisant les identifiants de la BD initialisée ci-dessus

Ouvrir une invite de commande dans le dossier contenant l'archive pour se connecter à heroku, créer une nouvelle app heroku, puis y déployer GeoServer comme suit (inspiré de cette documentation)

heroku login
heroku create
heroku plugins:install heroku-cli-deploy
heroku war:deploy geoserver.war --app <appName>

Attendre le déploiement (ça peut être long) tout en surveillant les logs de l'app Heroku https://dashboard.heroku.com/apps/appName/logs (remplacer appName comme il se doit)

à priori un message de type INFO: Initializing Spring FrameworkServlet 'dispatcher' signifie que le serveur est prêt

ouvrir dans un navigateur l'app GeoServer https://appName.herokuapp.com (remplacer appName comme il se doit)

se connecter avec les identifiants par défaut admin / geoserver

configurer la publication cartographique d'une couche de donnée (voir la suite)