* Linux (you may run Singularity with [Vagrant](https://app.vagrantup.com/sylabs) on macOS or Windows as well)
* A running [installation](https://www.sylabs.io/guides/2.6/user-guide/quick_start.html#quick-installation-steps) of Singularity 2.6
* Linux or macOS (you may run Singularity with [Vagrant](https://app.vagrantup.com/sylabs) on Windows as well)
* A running [installation](https://www.sylabs.io/guides/3.0/user-guide/quick_start.html#quick-installation-steps) of Singularity 3.0 or higher
### Get a container image
TODO: Download prebuilt images
#### Download a release image
Simply download an image from the [releases]({{< ref "/releases" >}}) page.
#### Create custom image with ogs-container-maker
Build images with [ogs-container-maker](https://github.com/ufz/ogs-container-maker) on [Jenkins](https://jenkins.opengeosys.org/job/ufz/job/ogs-container-maker/job/master/build) (login required, ask Lars Bilke for access):
It will build all combinations of `format`, `openmpi_versions` and `pm`. When the build finishes you can download the container (`*.simg` files) at the jobs page under `Build Artifacts`.
It will build all combinations of `format`, `openmpi_versions` and `pm`. When the build finishes you can download the container (`*.sif` files) at the jobs page under `Build Artifacts`.
### Run OGS inside a Container (called from outside)
This starts the container, mounts your home directory inside the container, passes the current working directory and runs the ogs executable (which is in your home directory which is mounted inside the container) with the passed project file. Everything works as expected and is transparent to the user. When ogs finishes the container stops and you returns to the host system.
...
...
@@ -38,27 +42,27 @@ This starts the container, mounts your home directory inside the container, pass
You can interactively explore the container with `singularity shell` (you can see that you are **in** the container because of the `Singularity [container image file]:...>` prefix of the shell):
```bash
# Shell into container
singularity shell ogs-openmpi-2.1.1-conan.simg
singularity shell ogs-6.2.0-serial.sif
# List files in the container
Singularity ogs-openmpi-2.1.1-conan.simg:...> ls /usr/local/ogs/bin
Singularity ogs-6.2.0-serial.sif:...> ls /usr/local/ogs/bin
... ogs tetgen vtkdiff
# Exit the container and get back to your hosts shell