Docker-Installation

Installation des Open-Datenschutzcenters mit Docker Compose

Diese Art installiert MySQL, Keycloak und den ODC als Docker Container. Es ist daher wichtig, dass alle Volumes der Container gesichert werden.

Minimale Voraussetzungen

  1. Root Berechtigung auf dem Server
  2. Betriebssystem: Debian 12 Minimal
  3. Min. 4 GB RAM
  4. Min. 2 CPU

Installationsschritte

Alle Schritte  finden Sie im Wiki des Github Repos auf der Seite Get Started

Was wird gemacht?

 

Zur Anleitung

Optional Docker Image

Für die Installation des Open-Datenschutzcenters steht ein Docker Image bereit.

Die aktuelle Version oder weitere Informationen stehen auf folgenden Seiten:

docker pull git.h2-invent.com/datenschutzcenter/application:<version>

Hier steht das Dockerfile für ein eigenes Build zur Verfügung.

Zum Docker Image

Published Ports

Folgende Ports werden vom Container bereitgestellt.

- mode: host
  protocol: tcp
  published_port: 8080
  target_port: 8080

Volume- oder Bind-Mountings

Folgende Directories müssen als Volumes oder Bindings in einen Container eingebunden werden. 

Alle Ordner und Dokumente müssen auf dem Host eingerichtet und mit der passenden Berechtigung für den Benutzer nobody eingerichtet werden.

- source: /opt/odc_dev/data
  target: /var/www/html/data
  type: bind
  readonly: false
- source: /opt/odc_dev/log
  target: /var/www/html/var/log
  type: bind
  readonly: false
- source: /opt/odc_dev/.env.local
  target: /var/www/html/.env.local
  type: bind
  readonly: true
- source: /opt/odc_dev/secretStorage
  target: /var/www/html/secretStorage
  type: bind
  readonly: false

.ENV.LOCAL

Folgende Daten müssen im der .env.local enthalten sein. Diese Daten könne in einem Docker Swarm auch als Secret eingebunden werden.

APP_ENV=prod
APP_DEBUG=1
APP_DEMO=false 
APP_SECRET=<xxxx>
DATABASE_URL='mysql://{{ mariadb_username }}:{{ mariadb_password }}@{{ mariadb_host }}:{{ mariadb_port }}/{{ mysql_datenbank }}'
OAUTH_KEYCLOAK_CLIENT_ID=<odc>
OAUTH_KEYCLOAK_CLIENT_SECRET=<xxxxxxxxx>
OAUTH_KEYCLOAK_SERVER=https://keycloak.example.com>
OAUTH_KEYCLOAK_REALM=<master>

MAILER_DSN=null://null