diff --git a/lib/prepare-system.sh b/lib/prepare-system.sh index af1acb0..cf1d79f 100755 --- a/lib/prepare-system.sh +++ b/lib/prepare-system.sh @@ -81,7 +81,7 @@ case "$PROJECT" in ;; *) log ERROR "Internal error, this should not happen." - exit 1 + exit 1 ;; esac @@ -118,3 +118,4 @@ chown -R bridgehead:docker /tmp/bridgehead /var/cache/bridgehead chmod -R g+wr /var/cache/bridgehead /tmp/bridgehead log INFO "System preparation is completed and configuration is present." + diff --git a/ovis/docker-compose.yml b/ovis/docker-compose.yml index 1d0152d..5ce6c6c 100644 --- a/ovis/docker-compose.yml +++ b/ovis/docker-compose.yml @@ -11,7 +11,7 @@ services: PROJECT: minimal ovis-frontend: - image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-frontend:${OVIS_IMAGE_TAG:-latest} + image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-frontend:${OVIS_IMAGE_TAG:-latest} container_name: bridgehead-ovis-frontend environment: HTTP_PROXY: ${OVIS_HTTP_PROXY:-} @@ -41,12 +41,30 @@ services: PUBLIC_NAV_SUPPLEMENTARY_ENABLED: ${PUBLIC_NAV_SUPPLEMENTARY_ENABLED:-true} PUBLIC_NAV_MOLECULAR_ENABLED: ${PUBLIC_NAV_MOLECULAR_ENABLED:-true} PUBLIC_NAV_BIO_MATERIAL_ENABLED: ${PUBLIC_NAV_BIO_MATERIAL_ENABLED:-true} - PUBLIC_NAV_STUDY_ENABLED: ${PUBLIC_NAV_STUDY_ENABLED:-false} + PUBLIC_NAV_STUDY_ENABLED: ${PUBLIC_NAV_STUDY_ENABLED:-true} PUBLIC_NAV_USER_MANAGEMENT_ENABLED: ${PUBLIC_NAV_USER_MANAGEMENT_ENABLED:-true} + PUBLIC_QUICKTOOLS_GENDER_BUTTONS: "${PUBLIC_QUICKTOOLS_GENDER_BUTTONS:-M|m;W|w;Other|other}" + PUBLIC_QUICKTOOLS_GENDER_OTHER_EXCLUSIONS: "${PUBLIC_QUICKTOOLS_GENDER_OTHER_EXCLUSIONS:-m;w}" + PUBLIC_QUICKTOOLS_CERT_CASES_POS: "${PUBLIC_QUICKTOOLS_CERT_CASES_POS:-primary=Primary Case|Ja,recurrence=Recurrence Case|true,center=Center Case|Ja}" + PUBLIC_QUICKTOOLS_CERT_CASES_NEG: "${PUBLIC_QUICKTOOLS_CERT_CASES_NEG:-primary=Primary Case|Nein,recurrence=Recurrence Case|false,center=Center Case|Nein}" + PUBLIC_QUICKTOOLS_CERT_INTERNAL_LABEL: "${PUBLIC_QUICKTOOLS_CERT_INTERNAL_LABEL:-Meine Einrichtung|Meine Einrichtung}" PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_NAME: ${PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_NAME:-Local Admin} PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_EMAIL: ${PUBLIC_SITE_SPECIFIC_TECHNICAL_ADMIN_EMAIL:-} PUBLIC_SITE_SPECIFIC_SHOW_USERAGREEMENT: ${PUBLIC_SITE_SPECIFIC_SHOW_USERAGREEMENT:-false} PUBLIC_SITE_SPECIFIC_SHOW_IMPRINT: ${PUBLIC_SITE_SPECIFIC_SHOW_IMPRINT:-false} + PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_ORGANIZATION: ${PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_ORGANIZATION:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_PERSON: ${PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_PERSON:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_ADDRESS_STREET: ${PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_ADDRESS_STREET:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_ADDRESS_AREA: ${PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_WEBHOST_ADDRESS_AREA:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_HOSPITAL_PASSUS: ${PUBLIC_SITE_SPECIFIC_IMPRINT_HOSPITAL_PASSUS:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_HOSPITAL_DIRECTOR: ${PUBLIC_SITE_SPECIFIC_IMPRINT_RESPONSIBLE_HOSPITAL_DIRECTOR:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_HOSPITAL_NAME: ${PUBLIC_SITE_SPECIFIC_IMPRINT_HOSPITAL_NAME:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_ADDRESS_STREET: ${PUBLIC_SITE_SPECIFIC_IMPRINT_ADDRESS_STREET:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_ADDRESS_AREA: ${PUBLIC_SITE_SPECIFIC_IMPRINT_ADDRESS_AREA:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_NAME: ${PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_NAME:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_STREET: ${PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_STREET:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_AREA: ${PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_AREA:-} + PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_EMAIL: ${PUBLIC_SITE_SPECIFIC_IMPRINT_DATA_PROTECTION_OFFICER_EMAIL:-} OVIS_CATALOGUE_UPSTREAM_URL: ${OVIS_CATALOGUE_UPSTREAM_URL:-} EXPRESS_AUTH_URL: http://express-auth:5000 EXPRESS_AUTH_USERNAME: ${EXPRESS_AUTH_USERNAME} @@ -75,7 +93,7 @@ services: - "traefik.http.services.ovis-frontend.loadbalancer.server.port=5173" ovis-backend-apollo: - image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-apollo:${OVIS_IMAGE_TAG:-latest} + image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-backend-apollo:${OVIS_IMAGE_TAG:-latest} container_name: bridgehead-ovis-backend environment: APOLLO_PORT: ${APOLLO_PORT:-4001} @@ -106,7 +124,7 @@ services: retries: 5 ovis-backend-database-mongodb: - image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-mongodb:${OVIS_IMAGE_TAG:-latest} + image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-backend-mongodb:${OVIS_IMAGE_TAG:-latest} container_name: bridgehead-ovis-mongo environment: DB: ${DB:-onc_test} @@ -117,7 +135,7 @@ services: - ovis-mongo-conf:/data/configdb ovis-backend-mongodb-data-preprocessing: - image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-preprocessor:${OVIS_IMAGE_TAG:-latest} + image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-backend-preprocessor:${OVIS_IMAGE_TAG:-latest} container_name: bridgehead-ovis-preprocessing environment: APOLLO_PORT: ${APOLLO_PORT:-4001} @@ -174,7 +192,7 @@ services: command: ["node", "./Preprocessing/catalogue-service.mjs"] ovis-backend-data-import: - image: ${OVIS_DATA_IMPORT_IMAGE:-${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-backend-data-import-${OVIS_IMPORT_MODE:-demo}:${OVIS_IMAGE_TAG:-latest}} + image: ${OVIS_DATA_IMPORT_IMAGE:-${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-backend-data-import-${OVIS_IMPORT_MODE:-demo}:${OVIS_IMAGE_TAG:-latest}} container_name: bridgehead-ovis-import env_file: - path: ${OVIS_DATA_IMPORT_ENV_FILE:-/etc/bridgehead/ovis.conf} @@ -209,7 +227,7 @@ services: - ovis-postgres-data:/var/lib/postgresql/data keycloak: - image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-keycloak:${OVIS_IMAGE_TAG:-latest} + image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-keycloak:${OVIS_IMAGE_TAG:-latest} container_name: bridgehead-ovis-keycloak environment: DB_VENDOR: postgres @@ -267,7 +285,7 @@ services: - "traefik.http.services.ovis-keycloak.loadbalancer.server.port=8080" express-auth: - image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-thewindmom}/ovis-express-auth:${OVIS_IMAGE_TAG:-latest} + image: ${OVIS_GENERAL_IMAGE_NAMESPACE:-ovisadmin}/ovis-express-auth:${OVIS_IMAGE_TAG:-latest} container_name: bridgehead-ovis-express-auth environment: PORT: "5000" @@ -286,11 +304,11 @@ services: KEYCLOAK_ADMIN_CLIENT_ID: ${KEYCLOAK_ADMIN_CLIENT_ID:-admin-cli} KEYCLOAK_ADMIN_CLIENT_SECRET: ${KEYCLOAK_ADMIN_CLIENT_SECRET} APP_DOMAIN: ${HOST} - FRONTEND_PORT: "443" + FRONTEND_PORT: ${OVIS_FRONTEND_PORT:-443} NGINX_PROXY_MODE: "true" NGINX_SSL_ENABLED: "true" - NGINX_HTTP_PORT: "80" - NGINX_HTTPS_PORT: "443" + NGINX_HTTP_PORT: ${OVIS_HTTP_PORT:-80} + NGINX_HTTPS_PORT: ${OVIS_HTTPS_PORT:-443} depends_on: - keycloak labels: @@ -299,6 +317,10 @@ services: - "traefik.http.routers.ovis-express.rule=PathPrefix(`${OVIS_PUBLIC_BASE_PATH:-/ovis}/express`)" - "traefik.http.routers.ovis-express.middlewares=ovis-express-strip" - "traefik.http.middlewares.ovis-express-strip.stripprefix.prefixes=${OVIS_PUBLIC_BASE_PATH:-/ovis}/express" + - "traefik.http.routers.ovis-express-compat.tls=true" + - "traefik.http.routers.ovis-express-compat.rule=PathPrefix(`/express`)" + - "traefik.http.routers.ovis-express-compat.middlewares=ovis-express-compat-strip" + - "traefik.http.middlewares.ovis-express-compat-strip.stripprefix.prefixes=/express" - "traefik.http.services.ovis-express.loadbalancer.server.port=5000" volumes: diff --git a/ovis/runtime/keycloak/ovis-realm.json b/ovis/runtime/keycloak/ovis-realm.json index fe3294a..ba91272 100644 --- a/ovis/runtime/keycloak/ovis-realm.json +++ b/ovis/runtime/keycloak/ovis-realm.json @@ -472,113 +472,6 @@ "webAuthnPolicyPasswordlessAcceptableAaguids": [], "webAuthnPolicyPasswordlessExtraOrigins": [], "users": [ - { - "id": "e8bcb1a5-ef97-4f8a-b7f6-91716295e34b", - "username": "admin", - "firstName": "Admin", - "lastName": "OVis", - "email": "admin@example.com", - "emailVerified": true, - "attributes": { - "ovisFilter": [ - "123456" - ] - }, - "createdTimestamp": 1739977469055, - "enabled": true, - "totp": false, - "credentials": [ - { - "id": "355db3ac-c1ce-4ae9-90e2-e063d8ebbedc", - "type": "password", - "userLabel": "My password", - "createdDate": 1740061491164, - "secretData": "{\"value\":\"bNHo0wVKIXAANsoaJbfQ/ni4x+snFGIxZdyRoSKEobqRKlgyzteor7CG22FbwR/wdLBcIBaHTElhn5ALyMt55Q==\",\"salt\":\"WYsOyGvMA2Yo3E3UpjvZRg==\",\"additionalParameters\":{}}", - "credentialData": "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}" - } - ], - "disableableCredentialTypes": [], - "requiredActions": [ - "UPDATE_PASSWORD" - ], - "realmRoles": [ - "default-roles-ovis" - ], - "notBefore": 0, - "groups": [] - }, - { - "id": "b3c13194-ed16-47a8-9121-e3d8caf7b14e", - "username": "adrian@cpp.com", - "firstName": "adrian", - "lastName": "estevez", - "email": "adrian@cpp.com", - "emailVerified": true, - "attributes": { - "ovisFilter": [ - "Tryout 1", - "Tryout 2" - ], - "ovis-filter": [ - "Cann see everything", - "Can see nothing" - ], - "OvisFilter": [ - "Tryout 1", - "Tryout 2" - ] - }, - "createdTimestamp": 1740040115974, - "enabled": true, - "totp": false, - "credentials": [ - { - "id": "97b1d279-9fb0-432d-97ec-e02a1954d1bc", - "type": "password", - "userLabel": "My password", - "createdDate": 1740040127370, - "secretData": "{\"value\":\"HwOlkNzmqc7hCXZ/TUT6NZSzVAMW5cNuDHPcZxJdv78z2mnSzlLzKdma/YeKYGqjZuRngVsv+RAaFnW7G81Ngg==\",\"salt\":\"QhXXEYrjvaTL6vz03YVy0g==\",\"additionalParameters\":{}}", - "credentialData": "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}" - } - ], - "disableableCredentialTypes": [], - "requiredActions": [], - "notBefore": 1740062663, - "groups": [] - }, - { - "id": "3bd29204-6808-47d6-a55c-b81567b6fa8c", - "username": "sample-user", - "firstName": "Sample", - "lastName": "User", - "email": "sample.user@example.org", - "emailVerified": true, - "attributes": { - "ovisFilter": [ - "No Filter" - ] - }, - "createdTimestamp": 1740063654488, - "enabled": true, - "totp": false, - "credentials": [ - { - "id": "9a21a7a0-b1c5-4f67-884e-2e31c27c1de6", - "type": "password", - "userLabel": "My password", - "createdDate": 1740063673764, - "secretData": "{\"value\":\"rloNNFWyrOW7S6EqVr/jKlgLPxKRAhqb5ZGKhScwfDZSKBn5i5oc3+AvrMsVqaO0J5sXwr/y9cSHyWyFvmLIAg==\",\"salt\":\"tHObeTx8s8K75/mz43tJGQ==\",\"additionalParameters\":{}}", - "credentialData": "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}" - } - ], - "disableableCredentialTypes": [], - "requiredActions": [], - "realmRoles": [ - "default-roles-ovis" - ], - "notBefore": 0, - "groups": [] - }, { "id": "b71688ad-6b74-4bcb-9915-faeb77e64490", "username": "service-account-admin-cli", @@ -627,39 +520,6 @@ "notBefore": 0, "groups": [] }, - { - "id": "9a963b15-712d-48a3-b6da-f132655ccac3", - "username": "test@mail.com", - "firstName": "Test", - "lastName": "mail", - "email": "test@mail.com", - "emailVerified": true, - "attributes": { - "ovisFilter": [ - "NOT today", - "NOT oncreatedate" - ] - }, - "createdTimestamp": 1740075966847, - "enabled": true, - "totp": false, - "credentials": [ - { - "id": "6bb954aa-4de8-4a30-8122-98ff84cdd069", - "type": "password", - "createdDate": 1740078813982, - "secretData": "{\"value\":\"OMku3LkzxI/bmkHCGKtAZLQu6zOVXAKRCK8ZKiwvPtitvhNMKO4ZxAS32pA5AwUPLBTq32rnZgWUQTsBf8ncVA==\",\"salt\":\"mUjPNv0sgfl9OVPUp1zrBg==\",\"additionalParameters\":{}}", - "credentialData": "{\"hashIterations\":210000,\"algorithm\":\"pbkdf2-sha512\",\"additionalParameters\":{}}" - } - ], - "disableableCredentialTypes": [], - "requiredActions": [], - "realmRoles": [ - "default-roles-ovis" - ], - "notBefore": 0, - "groups": [] - }, { "id": "a23cf887-ff49-4344-b8df-d530a9ee9071", "username": "ovis-root", @@ -675,13 +535,6 @@ "createdTimestamp": 1753786576000, "enabled": true, "totp": false, - "credentials": [ - { - "type": "password", - "value": "test", - "temporary": false - } - ], "disableableCredentialTypes": [], "requiredActions": [], "realmRoles": [ diff --git a/ovis/vars b/ovis/vars index 062ef92..2edb42f 100644 --- a/ovis/vars +++ b/ovis/vars @@ -8,12 +8,14 @@ BROKER_URL_FOR_PREREQ=${OVIS_PREREQ_URL:-https://github.com} : ${KEYCLOAK_HTTP_RELATIVE_PATH:=${OVIS_PUBLIC_BASE_PATH}/keycloak} : ${OVIS_KEYCLOAK_HOSTNAME:=${HOST}} : ${OVIS_IMPORT_MODE:=demo} -: ${OVIS_GENERAL_IMAGE_NAMESPACE:=thewindmom} +: ${OVIS_GENERAL_IMAGE_NAMESPACE:=ovisadmin} : ${OVIS_IMAGE_TAG:=latest} +: ${EXPRESS_AUTH_USERNAME:=admin} +: ${EXPRESS_AUTH_PASSWORD:=admin} : ${PUBLIC_LOGIN_ENABLED:=false} : ${PUBLIC_LDAP_ENABLED:=false} : ${PUBLIC_SYSTEM_START_LANGUAGE:=en} -: ${PUBLIC_NAV_STUDY_ENABLED:=false} +: ${PUBLIC_NAV_STUDY_ENABLED:=true} : ${PUBLIC_NAV_USER_MANAGEMENT_ENABLED:=true} : ${OVIS_SITE_CONFIG_DIR:=/etc/bridgehead/ovis} : ${OVIS_RUNTIME_DIR:=$(pwd)/ovis/runtime} @@ -37,8 +39,8 @@ if [ "${ENABLE_OVIS}" = "true" ]; then umask 077 { printf ': ${DB:=onc_test}\n' - printf ': ${EXPRESS_AUTH_USERNAME:=ovis-express}\n' - printf ': ${EXPRESS_AUTH_PASSWORD:=%s}\n' "$(ovis_random_secret)" + printf ': ${EXPRESS_AUTH_USERNAME:=admin}\n' + printf ': ${EXPRESS_AUTH_PASSWORD:=admin}\n' printf ': ${KEYCLOAK_ADMIN:=ovis-admin}\n' printf ': ${KEYCLOAK_ADMIN_PASSWORD:=%s}\n' "$(ovis_random_secret)" printf ': ${KEYCLOAK_REALM:=ovis}\n'