See Workshop entry doc https://geopython.github.io/geopython-workshop.
The workshop requires Docker and Docker Compose on your system
The Docker Images for this workshop are available on DockerHub.
The name of the workshop Image is geopython/geopython-workshop[:latest]
.
Note that the Docker Images contain mainly all (Python) components/dependencies. The actual workshop content (data+notebooks) will be
Docker-Volume-mounted. There is no need to build the Docker Image yourself (see below), except for testing and development.
All services are started using a Docker Compose file.
Linux, macOS, or WSL:
cd workshop
# start workshop
./geopython-workshop-ctl.sh start
# display URL and open in default web browser, if a browser does not open, then copy the url from the command output to your browser.
./geopython-workshop-ctl.sh url
# NB Possibly best if we add a frontend or use docs ("home") as entrypoint
./geopython-workshop-ctl.sh stop
Windows (Powershell or Command Prompt):
cd workshop
.\win-geopython-workshop-ctl.bat start
.\win-geopython-workshop-ctl.bat url
.\win-geopython-workshop-ctl.bat stop
NB Jupyter notebook needs a token. The token is displayed in the jupyter container logs on startup:
http://127.0.0.1:8888/?token=<longtokenhexstring>
.
As Docker Compose may run in background you can make logging
output visible via docker logs --follow geopython-workshop-jupyter
. Or
in Docker Desktop UI, select the jupyter container to see its logs.
You may always build a Docker Image from this repo yourself, e.g. for bugfixing:
git clone https://github.com/geopython/geopython-workshop.git
cd geopython-workshop.git/workshop/jupyter
./build.sh
- Docker must be managed by non-root users in linux. Please make sure to perform the following post-installation step.
- by default the web services pygeoapi and pycsw are not required for the regular workshop like FOSS4G
- if you use pygeoapi: there is an issue with MacOS Monterey where the port 5000 is already used and therefore conflicting with that one used by pygeoapi. If you are facing this error
OSError: [Errno 48] Address already in use
then your machine is affected. To overcome the issue you can disable the Airplay Receiver fromSystem Preferences->Sharing
of your MacOS (detailed description in this blog post).
All bugs, enhancements and issues are managed on GitHub.