From 360bcf1fdd18c42ffe950a7cc62a367f822ae709 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Sun, 13 Apr 2025 16:39:58 +0200 Subject: [PATCH] Accidentaly deleted the docker compose Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at> --- .docker/.env | 9 + .docker/docker-compose.yml | 663 +++++++++++++++++++++++++++++++++++++ .gitignore | 9 - 3 files changed, 672 insertions(+), 9 deletions(-) create mode 100644 .docker/.env create mode 100644 .docker/docker-compose.yml diff --git a/.docker/.env b/.docker/.env new file mode 100644 index 0000000000..e50d4f6b5b --- /dev/null +++ b/.docker/.env @@ -0,0 +1,9 @@ +MARIADB_VERSION=11.3.2 +POSTGRES_VERSION=17.0.0 +KEYCLOAK_VERSION=26.0.4 +RABBITMQ_VERSION=3.13.7 +OPENSEARCH_VERSION=2.10.0 +NGINX_VERSION=1.27.3-alpine3.20-slim +OPENLDAP_VERSION=2.6.8 +SEAWEEDFS_VERSION=3.71.0 +PROMETHEUS_VERSION=2.54.1 \ No newline at end of file diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml new file mode 100644 index 0000000000..49c5261b6c --- /dev/null +++ b/.docker/docker-compose.yml @@ -0,0 +1,663 @@ +x-resources-nano: &resources-nano + resources: + reservations: + cpus: '0.1' + memory: 128M + limits: + cpus: '0.15' + memory: 192M + +x-resources-micro: &resources-micro + resources: + reservations: + cpus: '0.25' + memory: 256M + limits: + cpus: '0.375' + memory: 384M + +x-resources-nano-hm: &resources-micro-hm + resources: + reservations: + cpus: '0.25' + memory: 256M + limits: + cpus: '0.375' + memory: 4096M + +x-resources-small: &resources-small + resources: + reservations: + cpus: '0.5' + memory: 512M + limits: + cpus: '0.75' + memory: 768M + +x-resources-medium: &resources-medium + resources: + reservations: + cpus: '0.5' + memory: 1024M + limits: + cpus: '0.75' + memory: 1536M + +x-resources-large: &resources-large + resources: + reservations: + cpus: '1' + memory: 2048M + limits: + cpus: '1.5' + memory: 3072M + +x-healthcheck-params: &healthcheck-params + interval: 30s + timeout: 10s + retries: 15 + +volumes: + metadata-db-data: + data-db-data: + auth-db-data: + broker-service-data: + search-db-data: + identity-service-data: + metric-db-data: + dashboard-ui-data: + +services: + dbrepo-metadata-db: + restart: "no" + container_name: dbrepo-metadata-db + hostname: metadata-db + image: docker.io/bitnami/mariadb:${MARIADB_VERSION} + volumes: + - metadata-db-data:/var/lib/mysql + - ./config/1_setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql + - ./config/2_setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql + ports: + - "3306:3306" + environment: + MARIADB_DATABASE: "${METADATA_DB:-dbrepo}" + MARIADB_EXTRA_FLAGS: "${METADATA_DB_EXTRA_FLAGS:---max_connections=155 --max-statement-time=60}" + MARIADB_ROOT_PASSWORD: "${METADATA_DB_PASSWORD:-dbrepo}" + healthcheck: + test: /opt/bitnami/scripts/mariadb/healthcheck.sh --connect --innodb_initialized + <<: *healthcheck-params + deploy: + <<: *resources-micro-hm + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-data-db: + restart: "no" + container_name: dbrepo-data-db + hostname: data-db + image: docker.io/bitnami/mariadb:${MARIADB_VERSION} + volumes: + - data-db-data:/var/lib/mysql + - ./config/1_grant-user.sql:/docker-entrypoint-initdb.d/1_grant-user.sql + ports: + - "3307:3306" + environment: + MARIADB_EXTRA_FLAGS: "${DATA_DB_EXTRA_FLAGS:---max_connections=155 --max-statement-time=60}" + MARIADB_PASSWORD: "${READONLY_PASSWORD:-readonly}" + MARIADB_ROOT_PASSWORD: "${DATA_DB_PASSWORD:-dbrepo}" + MARIADB_USER: "${READONLY_USERNAME:-readonly}" + healthcheck: + test: /opt/bitnami/scripts/mariadb/healthcheck.sh --connect --innodb_initialized + <<: *healthcheck-params + deploy: + <<: *resources-micro-hm + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-auth-db: + restart: "no" + container_name: dbrepo-auth-db + hostname: auth-db + image: docker.io/bitnami/postgresql:${POSTGRES_VERSION} + volumes: + - auth-db-data:/bitnami/postgresql + environment: + POSTGRESQL_DATABASE: "${AUTH_DB_NAME:-keycloak}" + POSTGRESQL_USERNAME: "${AUTH_DB_USERNAME:-keycloak}" + POSTGRESQL_PASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}" + PGPASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}" + healthcheck: + test: "psql -U ${AUTH_DB_USERNAME:-keycloak} -h 127.0.0.1 -p 5432 -d ${AUTH_DB_NAME:-keycloak} -c 'select version();'" + <<: *healthcheck-params + deploy: + <<: *resources-micro + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-auth-service: + restart: "no" + container_name: dbrepo-auth-service + hostname: auth-service + image: docker.io/bitnami/keycloak:${KEYCLOAK_VERSION} + volumes: + - ./config/import-realms.sh:/docker-entrypoint-initdb.d/import-realms.sh + - ./config/master-realm.json:/opt/keycloak/data/import/master-realm.json + - ./config/dbrepo-realm.json:/opt/keycloak/data/import/dbrepo-realm.json + - ./config/create-event-listener.jar:/opt/bitnami/keycloak/providers/create-event-listener.jar + ports: + - "8080:8080" + environment: + LDAP_ROOT: "${IDENTITY_SERVICE_ROOT:-dc=dbrepo,dc=at}" + LDAP_ADMIN_DN: "${IDENTITY_SERVICE_ADMIN_DN:-cn=admin,dc=dbrepo,dc=at}" + LDAP_ADMIN_PASSWORD: "${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin}" + KEYCLOAK_ENABLE_HEALTH_ENDPOINTS: "true" + KEYCLOAK_ENABLE_HTTPS: "false" + KEYCLOAK_ENABLE_STATISTICS: "true" + KEYCLOAK_DATABASE_HOST: "auth-db" + KEYCLOAK_DATABASE_NAME: "${AUTH_DB_NAME:-keycloak}" + KEYCLOAK_DATABASE_USER: "${AUTH_DB_USERNAME:-keycloak}" + KEYCLOAK_DATABASE_PASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}" + KEYCLOAK_HOSTNAME: "${BASE_URL:-http://localhost}" + KEYCLOAK_HOSTNAME_ADMIN: "http://localhost:8080" + METADATA_SERVICE_ENDPOINT: "${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}" + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + healthcheck: + test: curl -fsS localhost:8080/realms/master + <<: *healthcheck-params + deploy: + <<: *resources-medium + platform: linux/amd64 + depends_on: + dbrepo-identity-service: + condition: service_healthy + dbrepo-auth-db: + condition: service_healthy + logging: + driver: json-file + + dbrepo-auth-service-init: + init: true + restart: "no" + container_name: dbrepo-auth-service-init + image: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:1.8.1 + environment: + AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} + METADATA_DB: "${METADATA_DB:-dbrepo}" + METADATA_DB_PASSWORD: "${METADATA_DB_PASSWORD:-dbrepo}" + METADATA_USERNAME: "root" + READONLY_USERNAME: "${READONLY_USERNAME:-readonly}" + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: ${SYSTEM_PASSWORD:-admin} + deploy: + <<: *resources-nano + platform: linux/amd64 + depends_on: + dbrepo-auth-service: + condition: service_healthy + dbrepo-gateway-service: + condition: service_healthy + dbrepo-metadata-db: + condition: service_healthy + logging: + driver: json-file + + dbrepo-metadata-service: + restart: "no" + container_name: dbrepo-metadata-service + hostname: metadata-service + image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.1 + environment: + ADMIN_EMAIL: "${ADMIN_EMAIL:-noreply@localhost}" + ANALYSE_SERVICE_ENDPOINT: "${ANALYSE_SERVICE_ENDPOINT:-http://analyse-service:8080}" + AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} + AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} + AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} + BASE_URL: "${BASE_URL:-http://localhost}" + BROKER_EXCHANGE_NAME: ${BROKER_EXCHANGE_NAME:-dbrepo} + BROKER_QUEUE_NAME: ${BROKER_QUEUE_NAME:-dbrepo} + BROKER_HOST: "${BROKER_ENDPOINT:-broker-service}" + BROKER_PASSWORD: ${SYSTEM_PASSWORD:-admin} + BROKER_PORT: ${BROKER_PORT:-5672} + BROKER_SERVICE_ENDPOINT: ${BROKER_SERVICE_ENDPOINT:-http://broker-service:15672} + BROKER_USERNAME: ${SYSTEM_USERNAME:-admin} + BROKER_VIRTUALHOST: "${BROKER_VIRTUALHOST:-dbrepo}" + CROSSREF_ENDPOINT: "${CROSSREF_ENDPOINT:-http://data.crossref.org}" + DASHBOARD_SERVICE_ENDPOINT: "${DASHBOARD_SERVICE_ENDPOINT:-http://dashboard-service:8080}" + DATA_SERVICE_ENDPOINT: ${DATA_SERVICE_ENDPOINT:-http://data-service:8080} + DELETED_RECORD: "${DELETED_RECORD:-persistent}" + GRANULARITY: "${GRANULARITY:-YYYY-MM-DDThh:mm:ssZ}" + JWT_PUBKEY: "${JWT_PUBKEY:-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB}" + LOG_LEVEL: ${LOG_LEVEL:-info} + METADATA_DB: "${METADATA_DB:-dbrepo}" + METADATA_DB_PASSWORD: "${METADATA_DB_PASSWORD:-dbrepo}" + METADATA_HOST: "${METADATA_HOST:-metadata-db}" + METADATA_JDBC_EXTRA_ARGS: "${METADATA_JDBC_EXTRA_ARGS:-}" + METADATA_PORT: "${METADATA_PORT:-3306}" + METADATA_USERNAME: root + REPOSITORY_NAME: "${REPOSITORY_NAME:-Database Repository}" + ROR_ENDPOINT: "${ROR_ENDPOINT:-https://api.ror.org}" + SEARCH_SERVICE_ENDPOINT: "${SEARCH_SERVICE_ENDPOINT:-http://search-service:8080}" + S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}" + S3_BUCKET: "${S3_BUCKET:-dbrepo}" + S3_ENDPOINT: "${S3_ENDPOINT:-http://storage-service:9000}" + S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}" + SPARQL_CONNECTION_TIMEOUT: "${SPARQL_CONNECTION_TIMEOUT:-10000}" + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + healthcheck: + test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1 + <<: *healthcheck-params + deploy: + <<: *resources-small + platform: linux/amd64 + depends_on: + dbrepo-auth-service: + condition: service_healthy + dbrepo-broker-service: + condition: service_healthy + dbrepo-data-service: + condition: service_healthy + dbrepo-dashboard-service: + condition: service_healthy + dbrepo-search-service: + condition: service_healthy + dbrepo-metadata-db: + condition: service_healthy + logging: + driver: json-file + + dbrepo-analyse-service: + restart: "no" + container_name: dbrepo-analyse-service + hostname: analyse-service + image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.1 + environment: + AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} + AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} + AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} + JWT_PUBKEY: "${JWT_PUBKEY:-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB}" + S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}" + S3_BUCKET: "${S3_BUCKET:-dbrepo}" + S3_ENDPOINT: "${S3_ENDPOINT:-storage-service:9000}" + S3_PROTO: "${S3_PROTO:-http}" + S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}" + METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + healthcheck: + test: curl -sSL localhost:8080/health | grep 'UP' || exit 1 + <<: *healthcheck-params + deploy: + <<: *resources-micro + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-broker-service: + restart: "no" + container_name: dbrepo-broker-service + hostname: broker-service + image: docker.io/bitnami/rabbitmq:${RABBITMQ_VERSION} + ports: + - 5672:5672 + - 1883:1883 + volumes: + - ./config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf + - ./config/advanced.config:/etc/rabbitmq/advanced.config + - ./config/enabled_plugins:/etc/rabbitmq/enabled_plugins + - ./config/definitions.json:/app/definitions.json + - broker-service-data:/bitnami/rabbitmq/mnesia + environment: + RABBITMQ_FEATURE_FLAGS: mqtt_v5 + depends_on: + dbrepo-identity-service: + condition: service_healthy + healthcheck: + test: rabbitmq-diagnostics -q is_running | grep 'is fully booted and running' + <<: *healthcheck-params + deploy: + <<: *resources-micro + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-search-db: + restart: "no" + container_name: dbrepo-search-db + hostname: search-db + image: docker.io/bitnami/opensearch:${OPENSEARCH_VERSION} + volumes: + - search-db-data:/bitnami/opensearch/data + ports: + - "9200:9200" + healthcheck: + test: curl -sSL 127.0.0.1:9200 + <<: *healthcheck-params + deploy: + <<: *resources-medium + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-search-service: + restart: "no" + container_name: dbrepo-search-service + hostname: search-service + image: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.1 + environment: + AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} + AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} + AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} + COLLECTION: ${COLLECTION:-['database','table','column','identifier','unit','concept','user','view']} + LOG_LEVEL: ${LOG_LEVEL:-info} + METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} + OPENSEARCH_HOST: ${OPENSEARCH_HOST:-search-db} + OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200} + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + healthcheck: + test: curl -sSL localhost:8080/health | grep 'UP' || exit 1 + <<: *healthcheck-params + deploy: + <<: *resources-micro + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-ui: + restart: "no" + container_name: dbrepo-ui + hostname: ui + image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.8.1 + environment: + NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" + NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}" + NUXT_PUBLIC_DASHBOARD_URL: "${BASE_URL:-http://localhost}/dashboard" + NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "${BASE_URL:-http://localhost}/realms/dbrepo" + NUXT_OIDC_PROVIDERS_KEYCLOAK_AUTHORIZATION_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/auth" + NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "${AUTH_SERVICE_CLIENT:-dbrepo-client}" + NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_SECRET: "${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}" + NUXT_OIDC_PROVIDERS_KEYCLOAK_LOGOUT_REDIRECT_URI: "${BASE_URL:-http://localhost}" + NUXT_OIDC_PROVIDERS_KEYCLOAK_LOGOUT_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/logout" + NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "${BASE_URL:-http://localhost}/auth/keycloak/callback" + NUXT_OIDC_PROVIDERS_KEYCLOAK_TOKEN_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/token" + NUXT_OIDC_PROVIDERS_KEYCLOAK_USER_INFO_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/userinfo" + healthcheck: + test: curl -fsSL 127.0.0.1:3000 && curl -fsSL 127.0.0.1:3000/health + <<: *healthcheck-params + deploy: + <<: *resources-micro + platform: linux/amd64 + depends_on: + dbrepo-search-service: + condition: service_healthy + extra_hosts: + - "localhost:host-gateway" + logging: + driver: json-file + + dbrepo-gateway-service: + restart: "no" + container_name: dbrepo-gateway-service + hostname: gateway-service + image: docker.io/nginx:${NGINX_VERSION} + ports: + - "80:8080" + volumes: + - ./config/dbrepo.conf:/etc/nginx/conf.d/default.conf + healthcheck: + test: lsof -i TCP:80 || exit 1 + <<: *healthcheck-params + deploy: + <<: *resources-nano + platform: linux/amd64 + depends_on: + dbrepo-analyse-service: + condition: service_healthy + dbrepo-broker-service: + condition: service_healthy + dbrepo-metadata-service: + condition: service_healthy + dbrepo-search-db: + condition: service_healthy + dbrepo-dashboard-service: + condition: service_healthy + dbrepo-dashboard-ui: + condition: service_healthy + dbrepo-ui: + condition: service_healthy + logging: + driver: json-file + + dbrepo-identity-service: + restart: "no" + container_name: dbrepo-identity-service + hostname: identity-service + image: bitnami/openldap:2.6.8-debian-12-r1 + environment: + LDAP_ADMIN_USERNAME: "${IDENTITY_SERVICE_ADMIN_USERNAME:-admin}" + LDAP_ADMIN_PASSWORD: "${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin}" + LDAP_USERS: "${SYSTEM_USERNAME:-admin},${READONLY_USERNAME:-readonly}" + LDAP_PASSWORDS: "${SYSTEM_PASSWORD:-admin},${READONLY_PASSWORD:-readonly}" + LDAP_GROUP: "${ADMIN_GROUP:-system}" + LDAP_ROOT: "${IDENTITY_SERVICE_ROOT:-dc=dbrepo,dc=at}" + LDAP_ADMIN_DN: "${IDENTITY_SERVICE_ADMIN_DN:-cn=admin,dc=dbrepo,dc=at}" + volumes: + - identity-service-data:/bitnami/openldap + healthcheck: + test: "ldapwhoami -H ldap://localhost:1389 -D ${IDENTITY_SERVICE_ADMIN_DN:-cn=admin,dc=dbrepo,dc=at} -w ${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin} || exit 1" + <<: *healthcheck-params + deploy: + <<: *resources-nano + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-search-service-init: + restart: "no" + init: true + container_name: dbrepo-search-service-init + hostname: search-service-init + image: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.8.1 + environment: + LOG_LEVEL: ${LOG_LEVEL:-info} + METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} + OPENSEARCH_HOST: ${OPENSEARCH_HOST:-search-db} + OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200} + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + deploy: + <<: *resources-nano + platform: linux/amd64 + depends_on: + dbrepo-search-db: + condition: service_healthy + dbrepo-metadata-service: + condition: service_healthy + logging: + driver: json-file + + dbrepo-dashboard-service-init: + restart: "no" + init: true + container_name: dbrepo-dashboard-service-init + hostname: search-dashboard-init + image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:1.8.1 + environment: + LOG_LEVEL: ${LOG_LEVEL:-info} + DASHBOARD_UI_ENDPOINT: "${DASHBOARD_UI_ENDPOINT:-http://dashboard-ui:3000}" + METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + deploy: + <<: *resources-nano + platform: linux/amd64 + depends_on: + dbrepo-dashboard-ui: + condition: service_healthy + dbrepo-metadata-service: + condition: service_healthy + logging: + driver: json-file + + dbrepo-storage-service: + restart: "no" + container_name: dbrepo-storage-service + hostname: storage-service + image: docker.io/bitnami/seaweedfs:${SEAWEEDFS_VERSION} + command: [ "server", "-s3", "-s3.port=9000", "-s3.config=/app/s3_config.json", "-metricsPort=9090" ] + volumes: + - ./config/s3_config.json:/app/s3_config.json + ports: + - "9000:9000" + - "8888:8888" + healthcheck: + test: echo "cluster.check" | weed shell | grep "checking master.*ok" || exit 1 + <<: *healthcheck-params + deploy: + <<: *resources-nano + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-metric-db: + restart: "no" + container_name: dbrepo-metric-db + hostname: metric-db + image: docker.io/bitnami/prometheus:${PROMETHEUS_VERSION} + volumes: + - ./config/prometheus.yml:/etc/prometheus/prometheus.yml + - metric-db-data:/opt/bitnami/prometheus/data + healthcheck: + test: promtool check healthy + <<: *healthcheck-params + deploy: + <<: *resources-nano + platform: linux/amd64 + logging: + driver: json-file + + dbrepo-storage-service-init: + restart: "no" + init: true + container_name: dbrepo-storage-service-init + hostname: storage-service-init + image: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.8.1 + environment: + S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin} + S3_BUCKET: "${S3_BUCKET:-dbrepo}" + S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-seaweedfsadmin} + STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000} + deploy: + <<: *resources-nano + platform: linux/amd64 + depends_on: + dbrepo-storage-service: + condition: service_healthy + logging: + driver: json-file + + dbrepo-data-service: + restart: "no" + container_name: dbrepo-data-service + hostname: data-service + image: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.1 + environment: + AUTH_SERVICE_CLIENT: "${AUTH_SERVICE_CLIENT:-dbrepo-client}" + AUTH_SERVICE_CLIENT_SECRET: "${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}" + AUTH_SERVICE_ENDPOINT: "${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080}" + BASE_URL: "${BASE_URL:-http://localhost}" + BROKER_EXCHANGE_NAME: "${BROKER_EXCHANGE_NAME:-dbrepo}" + BROKER_QUEUE_NAME: "${BROKER_QUEUE_NAME:-dbrepo}" + BROKER_HOST: "${BROKER_ENDPOINT:-broker-service}" + BROKER_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + BROKER_PORT: ${BROKER_PORT:-5672} + BROKER_SERVICE_ENDPOINT: "${BROKER_SERVICE_ENDPOINT:-http://broker-service:15672}" + BROKER_USERNAME: "${SYSTEM_USERNAME:-admin}" + BROKER_VIRTUALHOST: "${BROKER_VIRTUALHOST:-dbrepo}" + CONNECTION_TIMEOUT: ${CONNECTION_TIMEOUT:-60000} + COMPUTE_SERVICE_ENDPOINT: "${COMPUTE_SERVICE_ENDPOINT:-local[2]}" + EXCHANGE_NAME: "${EXCHANGE_NAME:-dbrepo}" + METADATA_SERVICE_ENDPOINT: "${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}" + GRANT_DEFAULT_READ: "${GRANT_DEFAULT_READ:-SELECT}" + GRANT_DEFAULT_WRITE: "${GRANT_DEFAULT_WRITE:-SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE}" + JWT_PUBKEY: "${JWT_PUBKEY:-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB}" + LOG_LEVEL: ${LOG_LEVEL:-info} + QUEUE_NAME: ${QUEUE_NAME:-dbrepo} + REQUEUE_REJECTED: ${REQUEUE_REJECTED:-false} + ROUTING_KEY: "${ROUTING_KEY:-dbrepo.#}" + S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}" + S3_BUCKET: "${S3_BUCKET:-dbrepo}" + S3_ENDPOINT: "${S3_ENDPOINT:-http://storage-service:9000}" + S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}" + SPARK_USER: "${COMPUTE_SERVICE_USERNAME:-spark}" + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + healthcheck: + test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1 + <<: *healthcheck-params + deploy: + <<: *resources-large + platform: linux/amd64 + depends_on: + dbrepo-data-db: + condition: service_healthy + logging: + driver: json-file + + dbrepo-dashboard-ui: + restart: "no" + container_name: dbrepo-dashboard-ui + hostname: dashboard-ui + image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-ui:1.8.1 + ports: + - "3000:3000" + volumes: + - dashboard-ui-data:/opt/bitnami/grafana/data + environment: + BASE_URL: "${BASE_URL:-http://localhost}" + GF_SERVER_ROOT_URL: http://dashboard-ui:3000/dashboard/ + GF_INSTALL_PLUGINS: "yesoreyeram-infinity-datasource" + GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION: "true" + LDAP_ADMIN_USERNAME: "${IDENTITY_SERVICE_ADMIN_USERNAME:-admin}" + LDAP_ADMIN_PASSWORD: "${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin}" + LDAP_ROOT: "${IDENTITY_SERVICE_ROOT:-dc=dbrepo,dc=at}" + healthcheck: + test: curl -fsSL --head 127.0.0.1:3000 + <<: *healthcheck-params + deploy: + <<: *resources-nano + platform: linux/amd64 + extra_hosts: + - "localhost:host-gateway" + logging: + driver: json-file + + dbrepo-dashboard-service: + restart: "no" + container_name: dbrepo-dashboard-service + hostname: dashboard-service + image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.8.1 + ports: + - "4070:8080" + environment: + AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} + BASE_URL: "${BASE_URL:-http://localhost}" + DASHBOARD_UI_ENDPOINT: "${DASHBOARD_UI_ENDPOINT:-http://dashboard-ui:3000}" + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" + healthcheck: + test: curl -fsSL --head 127.0.0.1:8080/health + <<: *healthcheck-params + deploy: + <<: *resources-micro + platform: linux/amd64 + depends_on: + dbrepo-dashboard-ui: + condition: service_healthy + logging: + driver: json-file diff --git a/.gitignore b/.gitignore index c3dd8341c5..1d310a8893 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ target/ !**/src/main/**/target/ !**/src/test/**/target/ -.docker/ # generated ready schema.xsd @@ -21,7 +20,6 @@ tmp.yaml .docs/.swagger/dist/ .docs/.swagger/site/ site/ -final/ .$* dbrepo-somapper/ @@ -30,9 +28,6 @@ dbrepo-somapper/ .pytest_cache/ __pycache__/ -# docs -site/ - # Previous directories fda-analyse-service/ fda-authentication-service/ @@ -53,9 +48,6 @@ fda-ui/ # demo .demo -# Generated -ready - # Certificates *.crt *.p12 @@ -106,7 +98,6 @@ table.md /dist/ /nbdist/ /.nb-gradle/ -build/ !**/src/main/**/build/ !**/src/test/**/build/ -- GitLab