From a5c2503047542e0fac8a3ab002936f5b1182c58a Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Tue, 1 Jun 2021 10:29:20 +0200 Subject: [server] Refactor container network to match common Docker network --- dozentenmodulserver/.env | 28 +++++++------ dozentenmodulserver/README.md | 5 ++- dozentenmodulserver/docker-compose.yml | 50 +++++++++++++++--------- dozentenmodulserver/setup/config.properties.tmpl | 6 ++- 4 files changed, 55 insertions(+), 34 deletions(-) diff --git a/dozentenmodulserver/.env b/dozentenmodulserver/.env index 24cf181a..4fa72517 100644 --- a/dozentenmodulserver/.env +++ b/dozentenmodulserver/.env @@ -2,26 +2,30 @@ # Environemt variables for docker-compose.yml # -# network 'dozmod' -DOZMOD_NETWORK_IPV4=192.168.200.0/24 -DOZMOD_NETWORK_IPV4_GATEWAY=192.168.200.1 -DOZMOD_NETWORK_IPV6=fd03:4b1d:5707:c8::/64 -DOZMOD_NETWORK_IPV6_GATEWAY=fd03:4b1d:5707:c8::1 +# network 'bwlp' +BWLP_NETWORK_NAME=bwlp +BWLP_NETWORK_IPV4=192.168.200.0/24 +BWLP_NETWORK_IPV4_GATEWAY=192.168.200.1 +BWLP_NETWORK_IPV6=fd03:4b1d:5707:c8::/64 +BWLP_NETWORK_IPV6_GATEWAY=fd03:4b1d:5707:c8::1 # container 'dozmod-server' -DOZMOD_SERVER_IPV4=192.168.200.10 -DOZMOD_SERVER_IPV6=fd03:4b1d:5707:c8::a +DOZMOD_SERVER_IPV4=192.168.200.20 +DOZMOD_SERVER_IPV6=fd03:4b1d:5707:c8::14 DOZMOD_SERVER_STORAGE=/mnt/bwLehrpool -DOZMOD_SERVER_MASTER=bwlp-masterserver.ruf.uni-freiburg.de +DOZMOD_SERVER_MASTER_HOST=bwlp-masterserver.ruf.uni-freiburg.de +DOZMOD_SERVER_MASTER_PORT=9091 +DOZMOD_SERVER_MASTER_USE_SSL=true # container 'dozmod-database' -DOZMOD_DATABASE_IPV4=192.168.200.20 -DOZMOD_DATABASE_IPV6=fd03:4b1d:5707:c8::14 +DOZMOD_DATABASE_IPV4=192.168.200.21 +DOZMOD_DATABASE_IPV6=fd03:4b1d:5707:c8::15 DOZMOD_DATABASE_USER=root DOZMOD_DATABASE_PASSWORD=dozmod DOZMOD_DATABASE_NAME=sat DOZMOD_DATABASE_DATASET_PATH=setup +DOZMOD_DATABASE_LOCATION_TABLE= # container 'dozmod-phpmyadmin' -DOZMOD_PHPMYADMIN_IPV4=192.168.200.30 -DOZMOD_PHPMYADMIN_IPV6=fd03:4b1d:5707:c8::1e +DOZMOD_PHPMYADMIN_IPV4=192.168.200.22 +DOZMOD_PHPMYADMIN_IPV6=fd03:4b1d:5707:c8::16 diff --git a/dozentenmodulserver/README.md b/dozentenmodulserver/README.md index 21e4edee..4cdf7ba6 100644 --- a/dozentenmodulserver/README.md +++ b/dozentenmodulserver/README.md @@ -49,7 +49,10 @@ export DOZMOD_DATABASE_HOST="192.168.200.20" export DOZMOD_DATABASE_NAME="sat" export DOZMOD_DATABASE_USER="root" export DOZMOD_DATABASE_PASSWORD="dozmod" -export DOZMOD_MASTER_SERVER="bwlp-masterserver.ruf.uni-freiburg.de" +export DOZMOD_DATABASE_LOCATION_TABLE="" +export DOZMOD_MASTER_SERVER_HOST="bwlp-masterserver.ruf.uni-freiburg.de" +export DOZMOD_MASTER_SERVER_PORT="9091" +export DOZMOD_MASTER_SERVER_USE_SSL="true" export DOZMOD_VSTORE_PATH="/mnt/bwLehrpool" # finalize the template content with values from environment variables diff --git a/dozentenmodulserver/docker-compose.yml b/dozentenmodulserver/docker-compose.yml index df2d41b2..c0a81a23 100644 --- a/dozentenmodulserver/docker-compose.yml +++ b/dozentenmodulserver/docker-compose.yml @@ -3,7 +3,7 @@ services: dozmod-server: container_name: dozmod-server image: dozmod-server:latest - hostname: server.dozmod + hostname: dozmod-server.${BWLP_NETWORK_NAME} build: context: . dockerfile: pkg/docker/dozmod-server_dockerfile @@ -12,51 +12,61 @@ services: DOZMOD_CONFIG_FILE: setup/config.properties.tmpl DOZMOD_VSTORE_PATH: ${DOZMOD_SERVER_STORAGE} environment: - DOZMOD_MASTER_SERVER: ${DOZMOD_SERVER_MASTER} + DOZMOD_SERVER_MASTER_HOST: ${DOZMOD_SERVER_MASTER_HOST} + DOZMOD_SERVER_MASTER_PORT: ${DOZMOD_SERVER_MASTER_PORT} + DOZMOD_SERVER_MASTER_USE_SSL: ${DOZMOD_SERVER_MASTER_USE_SSL} DOZMOD_DATABASE_NAME: ${DOZMOD_DATABASE_NAME} DOZMOD_DATABASE_HOST: ${DOZMOD_DATABASE_IPV4} DOZMOD_DATABASE_USER: ${DOZMOD_DATABASE_USER} DOZMOD_DATABASE_PASSWORD: ${DOZMOD_DATABASE_PASSWORD} + DOZMOD_DATABASE_LOCATION_TABLE: ${DOZMOD_DATABASE_LOCATION_TABLE} DOZMOD_VSTORE_PATH: ${DOZMOD_SERVER_STORAGE} volumes: - - dozmod-server:${DOZMOD_SERVER_STORAGE} + - type: volume + source: dozmod-server + target: ${DOZMOD_SERVER_STORAGE} + read_only: false depends_on: - dozmod-database networks: - dozmod: + bwlp: ipv4_address: ${DOZMOD_SERVER_IPV4} ipv6_address: ${DOZMOD_SERVER_IPV6} dozmod-database: container_name: dozmod-database image: mariadb:latest restart: on-failure - hostname: database.dozmod + hostname: dozmod-database.${BWLP_NETWORK_NAME} environment: TZ: Europe/Berlin MYSQL_DATABASE: ${DOZMOD_DATABASE_NAME} MYSQL_ROOT_PASSWORD: ${DOZMOD_DATABASE_PASSWORD} volumes: - - dozmod-database:/var/lib/mysql - - ./${DOZMOD_DATABASE_DATASET_PATH}:/docker-entrypoint-initdb.d + - type: volume + source: dozmod-database + target: /var/lib/mysql + read_only: false + - type: bind + source: ./${DOZMOD_DATABASE_DATASET_PATH} + target: /docker-entrypoint-initdb.d + read_only: true networks: - dozmod: + bwlp: ipv4_address: ${DOZMOD_DATABASE_IPV4} ipv6_address: ${DOZMOD_DATABASE_IPV6} dozmod-phpmyadmin: container_name: dozmod-phpmyadmin image: phpmyadmin:latest - hostname: phpmyadmin.dozmod + hostname: dozmod-phpmyadmin.${BWLP_NETWORK_NAME} restart: on-failure environment: PMA_HOST: ${DOZMOD_DATABASE_IPV4} - PMA_VERBOSE: database.dozmod + PMA_VERBOSE: dozmod-database.${BWLP_NETWORK_NAME} MYSQL_ROOT_PASSWORD: ${DOZMOD_DATABASE_PASSWORD} depends_on: - dozmod-database - ports: - - 8080:80 networks: - dozmod: + bwlp: ipv4_address: ${DOZMOD_PHPMYADMIN_IPV4} ipv6_address: ${DOZMOD_PHPMYADMIN_IPV6} volumes: @@ -65,14 +75,16 @@ volumes: dozmod-database: name: dozmod-database networks: - dozmod: - name: dozmod + bwlp: + name: ${BWLP_NETWORK_NAME} driver: bridge + driver_opts: + com.docker.network.bridge.name: br${BWLP_NETWORK_NAME} enable_ipv6: true ipam: driver: default config: - - subnet: ${DOZMOD_NETWORK_IPV4} - gateway: ${DOZMOD_NETWORK_IPV4_GATEWAY} - - subnet: ${DOZMOD_NETWORK_IPV6} - gateway: ${DOZMOD_NETWORK_IPV6_GATEWAY} + - subnet: ${BWLP_NETWORK_IPV4} + gateway: ${BWLP_NETWORK_IPV4_GATEWAY} + - subnet: ${BWLP_NETWORK_IPV6} + gateway: ${BWLP_NETWORK_IPV6_GATEWAY} diff --git a/dozentenmodulserver/setup/config.properties.tmpl b/dozentenmodulserver/setup/config.properties.tmpl index 8a4d0627..c4055462 100644 --- a/dozentenmodulserver/setup/config.properties.tmpl +++ b/dozentenmodulserver/setup/config.properties.tmpl @@ -5,5 +5,7 @@ vmstore.path = {{ .Env.DOZMOD_VSTORE_PATH }} db.uri = jdbc:mysql://{{ .Env.DOZMOD_DATABASE_HOST }}/{{ .Env.DOZMOD_DATABASE_NAME }}?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci db.username = {{ .Env.DOZMOD_DATABASE_USER }} db.password = {{ .Env.DOZMOD_DATABASE_PASSWORD }} -db.location-table = -master.address = {{ .Env.DOZMOD_MASTER_SERVER }} +db.location-table = {{ .Env.DOZMOD_DATABASE_LOCATION_TABLE }} +master.address = {{ .Env.DOZMOD_SERVER_MASTER_HOST }} +master.port = {{ .Env.DOZMOD_SERVER_MASTER_PORT }} +master.ssl = {{ .Env.DOZMOD_SERVER_MASTER_USE_SSL }} -- cgit v1.2.3-55-g7522