Docker image providing a PostGIS database with OEREB tables | Read-only mirror of https://github.com/sogis/oereb-db — Kanton Solothurn. Issues & pull requests at the source.
  • Java 77.3%
  • Shell 22.2%
  • Dockerfile 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-02 10:54:19 +02:00
.github/workflows Update GitHub Actions runner to Ubuntu 24.04 2026-04-02 10:54:19 +02:00
tests initial commit 2021-12-21 17:17:19 +01:00
.gitignore add gh action 2021-12-21 18:44:58 +01:00
create_schema_sql.java update ili2pg 2025-01-27 09:10:58 +01:00
docker-compose.test.yml change gretl pwd var 2022-01-03 14:06:41 +01:00
Dockerfile wip gh action 2021-12-21 18:56:09 +01:00
Dockerfile.test Switch to sogis/gretl image 2023-03-02 16:41:47 +01:00
initdb-user.sh add arp_waldreservate 2022-06-09 16:16:57 +02:00
LICENSE Initial commit 2021-12-21 16:39:16 +01:00
README.md trigger action 2022-06-13 10:08:05 +02:00

oereb-db

Docker image providing a PostGIS database with OEREB tables

Das Dockerimage dient während der Entwicklung verschiedenen Zwecken:

  • OEREB-DB: Das Image enthält die identische Struktur, d.h. stage- und live-Schema.
  • Edit-DB: Es werden sowohl das originale Edit-Schema eines Themas angelegt, wie auch das Staging-Schema (mit Endung "_oereb"). Das Edit-Schema ist sehr individuell. Aus diesem Grund muss jedes Schema separat im Code behandelt werden.

Ebenfalls wird das DDL-SQL der OEREB-DB für die spätere Integration auf dem GDI-DB-Cluster erstellt (setup_gdi.sql). Die Datei wird in der Github Action als Artefakt gespeichert.

initdb-user.sh muss mit dem Code synchron gehalten werden, damit die Rechte an den Schemen und Tabellen korrekt gesetzt sind.

Usage

docker run --rm --name oerebdb -p 54323:5432 -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=oereb -e POSTGRES_HOST_AUTH_METHOD=md5 -e PG_READ_PWD=dmluser -e PG_WRITE_PWD=ddluser -e GRETL_PG_WRITE_PWD=gretl sogis/oereb-db:2
mkdir -m 0777 ~/pgdata-oereb
docker run --rm --name oerebdb -p 54323:5432 -v ~/pgdata-oereb:/var/lib/postgresql/data:delegated -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=oereb -e POSTGRES_HOST_AUTH_METHOD=md5 -e PG_READ_PWD=dmluser -e PG_WRITE_PWD=ddluser -e PG_GRETL_PWD=gretl sogis/oereb-db:2

Es werden die Benutzer gretl, ddluser und dmluser beim erstmaligen Starten des Containers erstellt. Die Passwörter müssen als ENV-Variable angegeben werden.

Achtung: Die Umgebungsvariable POSTGRES_HOST_AUTH_METHOD muss mit dem Wert md5 gesetzt werden damit ili2pg "standalone" funktioniert. Die jdbc-Bibliothek ist zu alt und kann mit der neuen Standard-Auth-Methode nicht umgehen. In GRETL wird eine aktuelle jdbc-Bibliothek verwendet.

Develop

jbang edit create_schema_sql.java

Auf Apple Silicon ist vscodium noch nicht verfügbar. Aus diesem Grund muss als Editor VS Code verwendet werden. Damit der Aufruf via Console funktioniert, muss in .zshrc der PATH angepasst werden:

export PATH="$PATH:/Users/stefan/apps/vscode/Visual Studio Code.app/Contents/Resources/app/bin"

Der der Aufruf zum Editieren ist wie folgt:

jbang edit --open=code create_schema_sql.java

Code ausführen:

jbang create_schema_sql.java

Falls jbang nicht installiert ist:

curl -Ls https://sh.jbang.dev | bash -s - create_schema_sql.java

Build

Die Pipeline erstellt das Image. Das Herstellen der verschiedenen SQL-Dateien (für das Image selber und für die GDI) kann auch lokal gemacht werden (siehe Develop).