From fc7ff813de35de35ff29290b7d51dd60f6e5a5a6 Mon Sep 17 00:00:00 2001 From: David Beniamine <david.beniamine@tetras-libre.fr> Date: Wed, 2 Nov 2022 12:11:58 +0100 Subject: [PATCH] Customize annotot endpoint and environment Close #13 --- annotot.yml | 6 +++--- package-lock.json | 52 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/index.js | 2 +- webpack.config.js | 4 +++- 5 files changed, 60 insertions(+), 5 deletions(-) diff --git a/annotot.yml b/annotot.yml index 8781687..ab34884 100644 --- a/annotot.yml +++ b/annotot.yml @@ -3,7 +3,7 @@ services: annotot: image: tetraslibre/annotot-app ports: - - 3000:3000 + - ${ANNOTOT_PORT}:3000 environment: - - IP=0.0.0.0 - - ENV=production + - IP=${ANNOTOT_LISTEN_IP} + - ENV=${ANNOTOT_ENV} diff --git a/package-lock.json b/package-lock.json index 1baffad..e9a4f01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "css-loader": "^3.6.0", + "dotenv-webpack": "^8.0.1", "mirador": "git+https://gitlab.tetras-libre.fr/iiif/mirador-video-annotation#wip-webpack-from-git", "mirador-annotations": "0.4.0", "react": "^16.13.1", @@ -2470,6 +2471,36 @@ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz", "integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==" }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-defaults": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", + "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "dependencies": { + "dotenv": "^8.2.0" + } + }, + "node_modules/dotenv-webpack": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz", + "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==", + "dependencies": { + "dotenv-defaults": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "webpack": "^4 || ^5" + } + }, "node_modules/draft-js": { "version": "0.11.7", "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", @@ -10145,6 +10176,27 @@ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz", "integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==" }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" + }, + "dotenv-defaults": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", + "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "requires": { + "dotenv": "^8.2.0" + } + }, + "dotenv-webpack": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz", + "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==", + "requires": { + "dotenv-defaults": "^2.0.2" + } + }, "draft-js": { "version": "0.11.7", "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", diff --git a/package.json b/package.json index 1ed8a19..a47ef83 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "license": "ISC", "dependencies": { "css-loader": "^3.6.0", + "dotenv-webpack": "^8.0.1", "mirador": "git+https://gitlab.tetras-libre.fr/iiif/mirador-video-annotation#wip-webpack-from-git", "mirador-annotations": "0.4.0", "react": "^16.13.1", diff --git a/src/index.js b/src/index.js index 19ab11f..c7e940b 100644 --- a/src/index.js +++ b/src/index.js @@ -3,7 +3,7 @@ import annotationPlugins from 'mirador-annotations/es/index'; import LocalStorageAdapter from 'mirador-annotations/es/LocalStorageAdapter'; import AnnototAdapter from 'mirador-annotations/es/AnnototAdapter'; -const endpointUrl = 'http://localhost:3000/annotations'; +const endpointUrl = `http://${process.env.ANNOTOT_HOST}:${process.env.ANNOTOT_PORT}/annotations`; const config = { annotation: { // adapter: (canvasId) => new LocalStorageAdapter(`localStorage://?canvasId=${canvasId}`), diff --git a/webpack.config.js b/webpack.config.js index 8f2a543..d9fda3b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,6 @@ const path = require('path'); const webpack = require('webpack'); +const Dotenv = require('dotenv-webpack'); module.exports = { mode: process.env.WEBPACK_MODE, @@ -35,6 +36,7 @@ module.exports = { new webpack.IgnorePlugin({ /* cf https://gitlab.tetras-libre.fr/iiif/mirador-video-annotation/-/blob/annotation-on-video/webpack.config.js#L42 */ resourceRegExp: /@blueprintjs\/(core|icons)/, // ignore optional UI framework dependencies - }) + }), + new Dotenv() ] }; -- GitLab