I April skrev jag en del om Geonode (länk), så jag går inte in på några direkta detaljer om vad Geonode är i detta inlägg.
Att nu version 4.0 officiellt är släppt, innebär däremot en del förbättringar. Det som inte är ändrat är att det är lite omständligt att installera. Du kan testa med OSGeoLive ISO eller någon av de färdiga Docker containers som somliga erbjuder. Om man vill installera från grunden och följa instruktioner från Geonode.org så finns det två alternativ. Basic och Advanced…
När även ”Basic” instruktionen är drygt 25 skärmsidor lång så inser nog de flesta att det inte är tal om några få terminalkommandon för att installera Geonode.
När sedan installationen är klar så kan man ”konfigurera” servern också. Då finns det ”Basic”, ”Intermediate” och ”Advanced” instruktioner att välja mellan.
Jag tänkte se hur långt jag kommer genom att följa instruktionerna utan att ge mig in och problemlösa allt för mycket. Allt detta gör jag på en virtuell Ubuntu server, så håll i hatten nu kör vi…
(Jag skulle rekommendera att inte försöka installera tillsammans med mig, utan lugnt läsa vidare och sedan fatta egna beslut om hur Geonode skall installeras.)
Jag återger inte i detalj de kommandon jag använder så vill du själv installera så får du helt enkelt försöka följa instruktionerna på geonode.org.
Jag testar för Ubuntu Server 20.04.
https://docs.geonode.org/en/master/install/advanced/project/index.html#ubuntu-20-04
och Ubuntu 22.04.
https://docs.geonode.org/en/master/install/advanced/core/index.html#install-the-dependencies
samt Docker på Ubuntu 20.04.
https://docs.geonode.org/en/master/install/basic/index.html
Inledningsvis är det mycket grundläggande som behöver göras för att förbereda servern för Geonode. Det är i sig inget krångligt, men det är många kommandon för att uppdatera, lägga till program som kommer att användas senare samt lägga till en användare (”geonode”) som servern kommer att använda. Under installationen så väljer jag att använda just ”geonode” som användare så är det avklarat och jag behöver inte krångla med att byta användare mitt i processen. Får se om det kommer tillbaka och biter mig senare…
Här hade jag tänkt att dokumentera processen och beskriva i stort stegen för att få Geonode att köras på en egen server. Jag kom ganska långt i första försöket, men när det var dags att köra igång tjänster så fungerade ingenting. Felsökning hjälpte inte mig som i stort bara kopierat kommandon, så jag började om med en annan instruktion. Även här gick det ett tag, tills det inte längre gjorde det. I slutändan gav jag mer eller mindre upp och valde ”Basic” alternativet att köra med Docker, men även här så kunde min trötta hjärna uppenbarligen inte följa instruktionerna för trots att jag försökte två gånger så lyckades jag inte.
[skit också]
Nej, jag har testat olika operativsystem och försökt följa instruktionerna till punkt och pricka, men det fungerar inte! Jag kan få igång en webbserver, postgres, etc. Men jag kan inte få Geonode att fungera!
Jag kan inte ens följa instruktionen för att installera via Docker…
Slutsatser
Geonode är ett fantastiskt projekt med goda ambitioner. Det finns många bra verktyg och funktioner som är användbara för många. Det finns plugin till QGIS som förenklar hanteringen. Men för sjutton!
Geonode är nog det bästa exemplet jag kan komma på när det gäller att göra det svårt att installera. När det enda sättet att testa en installation för någon som inte har 100% koll på alla detaljer är en online demo, eller att köra OSGeo Live ISO, så är det något som inte stämmer. Geonode behöver i mitt tycke se över hur installationen går till.
Om jag tar PostgreSQL med PostGIS som jämförelse så är detta inte heller helt enkelt med många kommandon och redigering av filer, men Geonode tar detta till en helt ny nivå. PostgreSQL och PostGIS kan utan större problem installeras med tillgängliga instruktioner av även den som är lite ovan. Men Geonode…
Jag har nu lagt en hel dag på att försöka få Geonode installerad på en virtuell server och så gott det går följa instruktioner för olika typer av installation. Men när jag inte lyckas med en enda av dessa så känner jag att något är galet.
Vad tycker ni? Är det någon som installerat Geonode där ni följt instruktionerna och inte haft några problem? Kan man kräva enklare instruktioner om man redan tillhandahåller demo-tjänster och Live-exempel? Vad skall man kräva för bakgrund av de som vill testa att installera en tjänst eller ett program?
Jag satt och stökade lite med dockerinstallationen.
Instruktionen är inte komplett, ett steg som jag gjorde för att komma vidare var att köra scriptet create-envfile. Då skapades en .env-fil som docker-compose använder, efter det gick installationen igång och tog ca 15 minuter med nedladdningar och uppdateringar att köra igenom.
När installationen är klar fungerar inga av standardlösenorden, för de sätts i .env-filen.
De är enkla att hitta, men i instruktionen anges att standardvärden skall användas.
Jag har inte haft tid/ork/lust/vilja att felsöka varför uppladdningen av data inte fungerar, men gissar att geonode inte kan skriva till postgis.
Det enkla felmeddelandet om att man skall kontrollera filens validitet, ger heller inte mycket ledtråd om vad som är galet.
Tidigare test med geonode har visat att wms:er med namn eller lager som innehåller åäö inte fungerar. Kanske är det löst i senare versioner.
Jag gillar idén med geonode, men tröskeln att gå från att testa en online-demo till att sätt upp en egen är lite för hög.
Vid en snabb, helt ovetenskaplig koll på geonode-galleriet, så är nästan hälften felaktiga länkar, varav en länk pekar vidare till arcgis worldmap. Slutsatsen av det är fri att göra, men min upplevelse är att det borde vara enklare att komma igång.
Hejsan,
Jag testade att följa denna instruktion och första försöket gick inte så bra men efter justeringarna nedan så har det funkat bra med det jag har hunnit testa.
https://docs.geonode.org/en/master/install/advanced/core/index.html#deploy-a-vanilla-geonode-with-docker
Det som ställde till det för mig tror jag var att jag kör på en Windows pc så jag testade följande:
– Kör i Linux terminal istället för i Windows. Det verkar vara en del komandon som tolkas olika.
dvs med WSL2 Kör den nya Terminalen i Linux läge.
– kör ” net stop http” så att du får port 80 ledig. (Testade först att i docker env- filerna mappa om portarna men det funkade inte rätt igenom utan helt plötsligt användes port 80 ändå. Troligen jag som inte fattar docker för jag har just börjat lära mig)
Efter detta har det funkat fint!