====== 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 le script **initdb.postgres.sql** du dossier suivant https://drive.switch.ch/index.php/s/iIcVsQhGsqraetK - Télécharger aussi 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 [[https://devcenter.heroku.com/articles/war-deployment#deployment-with-the-heroku-cli|cette documentation]]) heroku login heroku create heroku plugins:install heroku-cli-deploy heroku war:deploy geoserver.war --app - 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) - surtout doit apparaître une info disant : //JDBCConfig using jdbc:postgresql ...// - se connecter avec les identifiants par défaut ''admin / geoserver'' - configurer la publication cartographique d'une couche de donnée (voir la suite)