diff --git a/.env.local.example b/.env.local.example index 5976030..4f6842f 100644 --- a/.env.local.example +++ b/.env.local.example @@ -22,3 +22,22 @@ ENV_VALIDATION="enabled" # NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION= NEXT_PUBLIC_MATOMO_BASE_URL="https://matomo.acdh.oeaw.ac.at" # NEXT_PUBLIC_MATOMO_ID= + +# ------------------------------------------------------------------------------------------------- +# typesense +# ------------------------------------------------------------------------------------------------- +NEXT_PUBLIC_TYPESENSE_API_KEY= +NEXT_PUBLIC_TYPESENSE_HOST="typesense.acdh-dev.oeaw.ac.at" +NEXT_PUBLIC_TYPESENSE_PORT="443" +NEXT_PUBLIC_TYPESENSE_PROTOCOL="https" +NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME="thomas-bernhard" + + +# ------------------------------------------------------------------------------------------------- +# python data wrangling scripts +# ------------------------------------------------------------------------------------------------- +BASEROW_BASE_URL="https://baserow.acdh-dev.oeaw.ac.at/api" +BASEROW_USER= +BASEROW_PW= +BASEROW_TOKEN= +BASEROW_DATABASE_ID= diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml index b526731..de1c19c 100644 --- a/.github/workflows/build-deploy.yml +++ b/.github/workflows/build-deploy.yml @@ -108,6 +108,7 @@ jobs: "NEXT_PUBLIC_MATOMO_ID=${{ vars.NEXT_PUBLIC_MATOMO_ID }}" "NEXT_PUBLIC_REDMINE_ID=${{ vars.SERVICE_ID }}" "NEXT_PUBLIC_TYPESENSE_API_KEY=${{ vars.NEXT_PUBLIC_TYPESENSE_API_KEY }}" + "NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME=${{ vars.NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME }}" "NEXT_PUBLIC_TYPESENSE_HOST=${{ vars.NEXT_PUBLIC_TYPESENSE_HOST }}" "NEXT_PUBLIC_TYPESENSE_PORT=${{ vars.NEXT_PUBLIC_TYPESENSE_PORT }}" "NEXT_PUBLIC_TYPESENSE_PROTOCOL=${{ vars.NEXT_PUBLIC_TYPESENSE_PROTOCOL }}" diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 04146b0..a3a08d7 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -88,6 +88,7 @@ jobs: NEXT_PUBLIC_MATOMO_BASE_URL: "${{ vars.NEXT_PUBLIC_MATOMO_BASE_URL }}" NEXT_PUBLIC_REDMINE_ID: "${{ vars.SERVICE_ID }}" NEXT_PUBLIC_TYPESENSE_API_KEY: "${{ vars.NEXT_PUBLIC_TYPESENSE_API_KEY }}" + NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME: "${{ vars.NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME }}" NEXT_PUBLIC_TYPESENSE_HOST: "${{ vars.NEXT_PUBLIC_TYPESENSE_HOST }}" NEXT_PUBLIC_TYPESENSE_PORT: "${{ vars.NEXT_PUBLIC_TYPESENSE_PORT }}" NEXT_PUBLIC_TYPESENSE_PROTOCOL: "${{ vars.NEXT_PUBLIC_TYPESENSE_PROTOCOL }}" @@ -99,6 +100,7 @@ jobs: NEXT_PUBLIC_MATOMO_BASE_URL: "${{ vars.NEXT_PUBLIC_MATOMO_BASE_URL }}" NEXT_PUBLIC_REDMINE_ID: "${{ vars.SERVICE_ID }}" NEXT_PUBLIC_TYPESENSE_API_KEY: "${{ vars.NEXT_PUBLIC_TYPESENSE_API_KEY }}" + NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME: "${{ vars.NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME }}" NEXT_PUBLIC_TYPESENSE_HOST: "${{ vars.NEXT_PUBLIC_TYPESENSE_HOST }}" NEXT_PUBLIC_TYPESENSE_PORT: "${{ vars.NEXT_PUBLIC_TYPESENSE_PORT }}" NEXT_PUBLIC_TYPESENSE_PROTOCOL: "${{ vars.NEXT_PUBLIC_TYPESENSE_PROTOCOL }}" diff --git a/Dockerfile b/Dockerfile index b0058ae..91338db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,11 @@ ARG NEXT_PUBLIC_BOTS ARG NEXT_PUBLIC_MATOMO_BASE_URL ARG NEXT_PUBLIC_MATOMO_ID ARG NEXT_PUBLIC_REDMINE_ID +ARG NEXT_PUBLIC_TYPESENSE_API_KEY +ARG NEXT_PUBLIC_TYPESENSE_HOST +ARG NEXT_PUBLIC_TYPESENSE_PORT +ARG NEXT_PUBLIC_TYPESENSE_PROTOCOL +ARG NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME # disable validation for runtime environment variables ENV ENV_VALIDATION=public diff --git a/config/env.config.js b/config/env.config.js index 70bd0bc..6e05cbe 100644 --- a/config/env.config.js +++ b/config/env.config.js @@ -34,11 +34,27 @@ export const env = createEnv({ v.integer(), v.minValue(1), ), + NEXT_PUBLIC_TYPESENSE_API_KEY: v.pipe(v.string(), v.nonEmpty()), + NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME: v.pipe(v.string(), v.nonEmpty()), + NEXT_PUBLIC_TYPESENSE_HOST: v.pipe(v.string(), v.nonEmpty()), + NEXT_PUBLIC_TYPESENSE_PORT: v.pipe( + v.string(), + v.transform(Number), + v.number(), + v.integer(), + v.minValue(1), + ), + NEXT_PUBLIC_TYPESENSE_PROTOCOL: v.pipe(v.string(), v.nonEmpty()), }); return v.parse(Schema, input); }, environment: { + NEXT_PUBLIC_TYPESENSE_API_KEY: process.env.NEXT_PUBLIC_TYPESENSE_API_KEY, + NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME: process.env.NEXT_PUBLIC_TYPESENSE_COLLECTION_NAME, + NEXT_PUBLIC_TYPESENSE_HOST: process.env.NEXT_PUBLIC_TYPESENSE_HOST, + NEXT_PUBLIC_TYPESENSE_PORT: process.env.NEXT_PUBLIC_TYPESENSE_PORT, + NEXT_PUBLIC_TYPESENSE_PROTOCOL: process.env.NEXT_PUBLIC_TYPESENSE_PROTOCOL, BUILD_MODE: process.env.BUILD_MODE, BUNDLE_ANALYZER: process.env.BUNDLE_ANALYZER, NEXT_PUBLIC_APP_BASE_URL: process.env.NEXT_PUBLIC_APP_BASE_URL,