From 836b4375807f11f26c49f59332857d445cf36b52 Mon Sep 17 00:00:00 2001 From: GPortas Date: Tue, 2 May 2023 15:56:20 +0100 Subject: [PATCH 1/8] Added: initial dev environment based on docker-compose and bash scripts --- .env | 1 + .gitignore | 4 ++ dev-env/.env | 3 + dev-env/docker-compose-dev.yml | 104 +++++++++++++++++++++++++++++++++ dev-env/rm-env.sh | 4 ++ dev-env/run-env.sh | 35 +++++++++++ 6 files changed, 151 insertions(+) create mode 100644 .env create mode 100644 dev-env/.env create mode 100644 dev-env/docker-compose-dev.yml create mode 100755 dev-env/rm-env.sh create mode 100755 dev-env/run-env.sh diff --git a/.env b/.env new file mode 100644 index 000000000..7004ddf97 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +VITE_DATAVERSE_BACKEND_URL=http://localhost:8080 diff --git a/.gitignore b/.gitignore index 33ceade84..b1bae6d60 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,7 @@ yarn-error.log* #deployment /deployment/payara/target + +#dev environment +/dev-env/docker-dev-volumes +/dev-env/dataverse diff --git a/dev-env/.env b/dev-env/.env new file mode 100644 index 000000000..e6a299776 --- /dev/null +++ b/dev-env/.env @@ -0,0 +1,3 @@ +POSTGRES_VERSION=13 +DATAVERSE_DB_USER=dataverse +SOLR_VERSION=8.11.1 diff --git a/dev-env/docker-compose-dev.yml b/dev-env/docker-compose-dev.yml new file mode 100644 index 000000000..135bb9668 --- /dev/null +++ b/dev-env/docker-compose-dev.yml @@ -0,0 +1,104 @@ +version: "2.4" + +services: + + dev_dataverse: + container_name: "dev_dataverse" + hostname: dataverse + image: gdcc/dataverse:unstable + #image: gdcc/dataverse:${DATAVERSE_BRANCH_NAME} + restart: on-failure + user: payara + environment: + - DATAVERSE_DB_HOST=postgres + - DATAVERSE_DB_PASSWORD=secret + - DATAVERSE_DB_USER=${DATAVERSE_DB_USER} + ports: + - "8080:8080" # HTTP (Dataverse Application) + - "4848:4848" # HTTP (Payara Admin Console) + - "9009:9009" # JDWP + - "8686:8686" # JMX + networks: + - dataverse + depends_on: + - dev_postgres + - dev_solr + volumes: + - ./docker-dev-volumes/app/data:/dv + - ./docker-dev-volumes/app/secrets:/secrets + tmpfs: + - /dumps:mode=770,size=2052M,uid=1000,gid=1000 + - /tmp:mode=770,size=2052M,uid=1000,gid=1000 + mem_limit: 2147483648 # 2 GiB + mem_reservation: 1024m + privileged: false + + dev_postgres: + container_name: "dev_postgres" + hostname: postgres + image: postgres:${POSTGRES_VERSION} + restart: on-failure + environment: + - POSTGRES_USER=${DATAVERSE_DB_USER} + - POSTGRES_PASSWORD=secret + ports: + - "5432:5432" + networks: + - dataverse + volumes: + - ./docker-dev-volumes/postgresql/data:/var/lib/postgresql/data + + dev_solr_initializer: + container_name: "dev_solr_initializer" + image: alpine + restart: "no" + command: + - sh + - -c + - "chown 8983:8983 /conf /var/solr && cp *.xml /conf" + volumes: + - ./docker-dev-volumes/solr/data:/var/solr + - ./docker-dev-volumes/solr/conf:/conf + - ./dataverse/conf/solr/8.11.1/schema.xml:/schema.xml + - ./dataverse/conf/solr/8.11.1/solrconfig.xml:/solrconfig.xml + + dev_solr: + container_name: "dev_solr" + hostname: "solr" + image: solr:${SOLR_VERSION} + depends_on: + - dev_solr_initializer + restart: on-failure + ports: + - "8983:8983" + networks: + - dataverse + command: + - bash + - -c + - "cd /opt/solr-${SOLR_VERSION}/server/solr/configsets/_default/conf && cp -R -n . /template && solr-precreate collection1 /template" + volumes: + - ./docker-dev-volumes/solr/data:/var/solr + - ./docker-dev-volumes/solr/conf:/template + + dev_smtp: + container_name: "dev_smtp" + hostname: "smtp" + image: maildev/maildev:2.0.5 + restart: on-failure + ports: + - "25:25" # smtp server + - "1080:1080" # web ui + environment: + - MAILDEV_SMTP_PORT=25 + - MAILDEV_MAIL_DIRECTORY=/mail + networks: + - dataverse + #volumes: + # - ./docker-dev-volumes/smtp/data:/mail + tmpfs: + - /mail:mode=770,size=128M,uid=1000,gid=1000 + +networks: + dataverse: + driver: bridge diff --git a/dev-env/rm-env.sh b/dev-env/rm-env.sh new file mode 100755 index 000000000..1bf0a3764 --- /dev/null +++ b/dev-env/rm-env.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +docker-compose -f "./docker-compose-dev.yml" down +rm -rf ./docker-dev-volumes diff --git a/dev-env/run-env.sh b/dev-env/run-env.sh new file mode 100755 index 000000000..c680d8053 --- /dev/null +++ b/dev-env/run-env.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +export DATAVERSE_BRANCH_NAME=$1 + +echo "INFO - Setting up Dataverse on branch ${DATAVERSE_BRANCH_NAME}..." + +echo "INFO - Cloning Dataverse backend repository..." +git clone -b ${DATAVERSE_BRANCH_NAME} git@github.com:IQSS/dataverse.git + +echo "INFO - Running docker containers..." +docker-compose -f "./docker-compose-dev.yml" up -d --build + +echo "INFO - Waiting for containers to be ready..." +# Up to ~5 minutes +max_attempts=30 +n_attempts=0 +until $(curl --output /dev/null --silent --head --fail http://localhost:8080/api/info/version); do + if [ ${n_attempts} -eq ${max_attempts} ];then + echo "ERROR - Timeout reached while waiting for containers to be ready" + ./rm-env.sh + rm -rf dataverse + exit 1 + fi + n_attempts=$(($n_attempts+1)) + sleep 10 +done + +echo "INFO - Bootstrapping dataverse..." +cd dataverse +./scripts/dev/docker-final-setup.sh +echo "INFO - Bootstrapping finished!" + +echo "INFO - Cleaning up repository..." +cd .. +rm -rf dataverse From 5ccd29beb8b8bad81c931f7a950834d2e66783e9 Mon Sep 17 00:00:00 2001 From: GPortas Date: Tue, 2 May 2023 17:53:50 +0100 Subject: [PATCH 2/8] Added: sample data configuration to run-env --- dev-env/dvconfig.py | 16 ++++++++++++++++ dev-env/run-env.sh | 26 ++++++++++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 dev-env/dvconfig.py diff --git a/dev-env/dvconfig.py b/dev-env/dvconfig.py new file mode 100644 index 000000000..13731bd6c --- /dev/null +++ b/dev-env/dvconfig.py @@ -0,0 +1,16 @@ +base_url = '' +api_token = '' +sample_data = [ +'data/dataverses/pums/pums.json', +'data/dataverses/pums/datasets/2000pums5/2000pums5.json', +'data/dataverses/dataverseno/dataverseno.json', +'data/dataverses/open-source-at-harvard/open-source-at-harvard.json', +'data/dataverses/open-source-at-harvard/dataverses/dataverse-project/dataverse-project.json', +'data/dataverses/open-source-at-harvard/dataverses/dataverse-project/datasets/dataverse-irc-metrics/dataverse-irc-metrics.json', +'data/dataverses/ubiquity-press/ubiquity-press.json', +'data/dataverses/ubiquity-press/dataverses/jopd/jopd.json', +'data/dataverses/ubiquity-press/dataverses/jopd/datasets/flynn-effect-in-estonia/flynn-effect-in-estonia.json', +'data/dataverses/ubiquity-press/dataverses/jopd/datasets/bafacalo/bafacalo.json', +'data/dataverses/king/king.json', +'data/dataverses/king/datasets/cause-of-death/cause-of-death.json', +] diff --git a/dev-env/run-env.sh b/dev-env/run-env.sh index c680d8053..1ce49df8b 100755 --- a/dev-env/run-env.sh +++ b/dev-env/run-env.sh @@ -2,6 +2,8 @@ export DATAVERSE_BRANCH_NAME=$1 +DATAVERSE_HOST=http://localhost:8080 + echo "INFO - Setting up Dataverse on branch ${DATAVERSE_BRANCH_NAME}..." echo "INFO - Cloning Dataverse backend repository..." @@ -14,7 +16,7 @@ echo "INFO - Waiting for containers to be ready..." # Up to ~5 minutes max_attempts=30 n_attempts=0 -until $(curl --output /dev/null --silent --head --fail http://localhost:8080/api/info/version); do +until $(curl --output /dev/null --silent --head --fail ${DATAVERSE_HOST}/api/info/version); do if [ ${n_attempts} -eq ${max_attempts} ];then echo "ERROR - Timeout reached while waiting for containers to be ready" ./rm-env.sh @@ -28,8 +30,28 @@ done echo "INFO - Bootstrapping dataverse..." cd dataverse ./scripts/dev/docker-final-setup.sh -echo "INFO - Bootstrapping finished!" echo "INFO - Cleaning up repository..." cd .. rm -rf dataverse + +echo "INFO - Cloning Dataverse sample data repository..." +git clone git@github.com:IQSS/dataverse-sample-data.git + +echo "INFO - Configuring Dataverse sample data repository..." +cd dataverse-sample-data +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt +cp ../dvconfig.py ./dvconfig.py +curl -X PUT -d 'true' ${DATAVERSE_HOST}/api/admin/settings/:AllowApiTokenLookupViaApi +dataverse_api_token=$(python3 get_api_token.py) +sed -i '' "s//${DATAVERSE_HOST}/g" dvconfig.py +sed -i '' "s//${dataverse_api_token}/g" dvconfig.py + +echo "INFO - Creating sample data..." +python3 create_sample_data.py + +echo "INFO - Cleaning up repository..." +cd .. +rm -rf dataverse-sample-data From 17fa91030131ae5a46d83b2bdec119273d86b023 Mon Sep 17 00:00:00 2001 From: GPortas Date: Fri, 5 May 2023 13:11:14 +0100 Subject: [PATCH 3/8] Stash: nginx reverse proxy with dockerized frontend dev server WIP --- .gitignore | 1 + dev-env/docker-compose-dev.yml | 74 +++++++++++++++++++++++++--------- dev-env/dvconfig.py | 2 +- dev-env/nginx.conf | 15 +++++++ dev-env/run-env.sh | 29 +++++++------ dev.Dockerfile | 6 +++ package.json | 2 +- vite.config.ts | 3 ++ 8 files changed, 98 insertions(+), 34 deletions(-) create mode 100644 dev-env/nginx.conf create mode 100644 dev.Dockerfile diff --git a/.gitignore b/.gitignore index b1bae6d60..5bf94c072 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ yarn-error.log* #dev environment /dev-env/docker-dev-volumes /dev-env/dataverse +/dev-env/dataverse-sample-data diff --git a/dev-env/docker-compose-dev.yml b/dev-env/docker-compose-dev.yml index 135bb9668..a3b52bdd3 100644 --- a/dev-env/docker-compose-dev.yml +++ b/dev-env/docker-compose-dev.yml @@ -1,9 +1,43 @@ -version: "2.4" +version: '2.4' services: + dev_nginx: + container_name: 'dev_nginx_proxy' + image: nginx:stable + ports: + - '8000:80' + networks: + - dataverse + depends_on: + - dev_dataverse + - dev_frontend + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - ./docker-dev-volumes/nginx/logs:/var/log/nginx/ + + dev_frontend: + container_name: 'dev_frontend' + hostname: frontend + build: + context: ../ + dockerfile: ./dev.Dockerfile + network: host + expose: + - '5173' + stdin_open: true + networks: + - dataverse + depends_on: + - dev_dataverse + environment: + - VITE_DATAVERSE_BACKEND_URL=http://localhost:8000 + volumes: + - ../:/usr/src/app + - /usr/src/app/dev-env + - /usr/src/app/node_modules dev_dataverse: - container_name: "dev_dataverse" + container_name: 'dev_dataverse' hostname: dataverse image: gdcc/dataverse:unstable #image: gdcc/dataverse:${DATAVERSE_BRANCH_NAME} @@ -13,11 +47,10 @@ services: - DATAVERSE_DB_HOST=postgres - DATAVERSE_DB_PASSWORD=secret - DATAVERSE_DB_USER=${DATAVERSE_DB_USER} + - DATAVERSE_FEATURE_API_SESSION_AUTH=1 + # We open 8080, rather than just expose, so that the docker-final-setup.sh script works from the run-env.sh script ports: - - "8080:8080" # HTTP (Dataverse Application) - - "4848:4848" # HTTP (Payara Admin Console) - - "9009:9009" # JDWP - - "8686:8686" # JMX + - '8080:8080' networks: - dataverse depends_on: @@ -34,7 +67,7 @@ services: privileged: false dev_postgres: - container_name: "dev_postgres" + container_name: 'dev_postgres' hostname: postgres image: postgres:${POSTGRES_VERSION} restart: on-failure @@ -42,20 +75,20 @@ services: - POSTGRES_USER=${DATAVERSE_DB_USER} - POSTGRES_PASSWORD=secret ports: - - "5432:5432" + - '5432:5432' networks: - dataverse volumes: - ./docker-dev-volumes/postgresql/data:/var/lib/postgresql/data dev_solr_initializer: - container_name: "dev_solr_initializer" + container_name: 'dev_solr_initializer' image: alpine - restart: "no" + restart: 'no' command: - sh - -c - - "chown 8983:8983 /conf /var/solr && cp *.xml /conf" + - 'chown 8983:8983 /conf /var/solr && cp *.xml /conf' volumes: - ./docker-dev-volumes/solr/data:/var/solr - ./docker-dev-volumes/solr/conf:/conf @@ -63,32 +96,33 @@ services: - ./dataverse/conf/solr/8.11.1/solrconfig.xml:/solrconfig.xml dev_solr: - container_name: "dev_solr" - hostname: "solr" + container_name: 'dev_solr' + hostname: 'solr' image: solr:${SOLR_VERSION} depends_on: - dev_solr_initializer restart: on-failure - ports: - - "8983:8983" + expose: + - '8983' networks: - dataverse command: - bash - -c - - "cd /opt/solr-${SOLR_VERSION}/server/solr/configsets/_default/conf && cp -R -n . /template && solr-precreate collection1 /template" + - 'cd /opt/solr-${SOLR_VERSION}/server/solr/configsets/_default/conf && cp -R -n . /template && solr-precreate collection1 /template' volumes: - ./docker-dev-volumes/solr/data:/var/solr - ./docker-dev-volumes/solr/conf:/template dev_smtp: - container_name: "dev_smtp" - hostname: "smtp" + container_name: 'dev_smtp' + hostname: 'smtp' image: maildev/maildev:2.0.5 restart: on-failure + expose: + - '25' # smtp server ports: - - "25:25" # smtp server - - "1080:1080" # web ui + - '1080:1080' # web ui environment: - MAILDEV_SMTP_PORT=25 - MAILDEV_MAIL_DIRECTORY=/mail diff --git a/dev-env/dvconfig.py b/dev-env/dvconfig.py index 13731bd6c..1ef2af74f 100644 --- a/dev-env/dvconfig.py +++ b/dev-env/dvconfig.py @@ -1,4 +1,4 @@ -base_url = '' +base_url = 'http://localhost:8000' api_token = '' sample_data = [ 'data/dataverses/pums/pums.json', diff --git a/dev-env/nginx.conf b/dev-env/nginx.conf new file mode 100644 index 000000000..ac9e22168 --- /dev/null +++ b/dev-env/nginx.conf @@ -0,0 +1,15 @@ +events {} +http { + server { + listen 80; + server_name localhost; + + location / { + proxy_pass http://dataverse:8080; + } + + location /spa { + proxy_pass http://frontend:5173; + } + } +} diff --git a/dev-env/run-env.sh b/dev-env/run-env.sh index 1ce49df8b..997841b79 100755 --- a/dev-env/run-env.sh +++ b/dev-env/run-env.sh @@ -2,10 +2,16 @@ export DATAVERSE_BRANCH_NAME=$1 -DATAVERSE_HOST=http://localhost:8080 +# To avoid timeout issues on frontend container startup +export COMPOSE_HTTP_TIMEOUT=200 + +DATAVERSE_API_BASE_URL=http://localhost:8000/api echo "INFO - Setting up Dataverse on branch ${DATAVERSE_BRANCH_NAME}..." +echo "INFO - Removing current environment if exists..." +./rm-env.sh + echo "INFO - Cloning Dataverse backend repository..." git clone -b ${DATAVERSE_BRANCH_NAME} git@github.com:IQSS/dataverse.git @@ -16,15 +22,15 @@ echo "INFO - Waiting for containers to be ready..." # Up to ~5 minutes max_attempts=30 n_attempts=0 -until $(curl --output /dev/null --silent --head --fail ${DATAVERSE_HOST}/api/info/version); do - if [ ${n_attempts} -eq ${max_attempts} ];then - echo "ERROR - Timeout reached while waiting for containers to be ready" - ./rm-env.sh - rm -rf dataverse - exit 1 - fi - n_attempts=$(($n_attempts+1)) - sleep 10 +until $(curl --output /dev/null --silent --head --fail ${DATAVERSE_API_BASE_URL}/info/version); do + if [ ${n_attempts} -eq ${max_attempts} ];then + echo "ERROR - Timeout reached while waiting for containers to be ready" + ./rm-env.sh + rm -rf dataverse + exit 1 + fi + n_attempts=$(($n_attempts+1)) + sleep 10 done echo "INFO - Bootstrapping dataverse..." @@ -44,9 +50,8 @@ python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cp ../dvconfig.py ./dvconfig.py -curl -X PUT -d 'true' ${DATAVERSE_HOST}/api/admin/settings/:AllowApiTokenLookupViaApi +curl -X PUT -d 'true' ${DATAVERSE_API_BASE_URL}/admin/settings/:AllowApiTokenLookupViaApi dataverse_api_token=$(python3 get_api_token.py) -sed -i '' "s//${DATAVERSE_HOST}/g" dvconfig.py sed -i '' "s//${dataverse_api_token}/g" dvconfig.py echo "INFO - Creating sample data..." diff --git a/dev.Dockerfile b/dev.Dockerfile new file mode 100644 index 000000000..a00e33c5a --- /dev/null +++ b/dev.Dockerfile @@ -0,0 +1,6 @@ +FROM node:19.6.1 +WORKDIR /usr/src/app +COPY package.json ./ +RUN npm install +EXPOSE 5173 +CMD ["npm", "start"] diff --git a/package.json b/package.json index f1caed6f5..69bd89f1d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "web-vitals": "^2.1.4" }, "scripts": { - "start": "vite", + "start": "vite --base=/spa", "build": "tsc && vite build", "preview": "vite preview", "test": "vitest watch", diff --git a/vite.config.ts b/vite.config.ts index d443ec029..c6a2d1ecf 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,5 +5,8 @@ export default defineConfig({ plugins: [react()], preview: { port: 5173 + }, + server: { + host: true } }) From 0d62e3f36805b3ebf19b494f2b65c4969447b0ed Mon Sep 17 00:00:00 2001 From: GPortas Date: Sat, 6 May 2023 11:06:01 +0100 Subject: [PATCH 4/8] Fixed: ws issues with nginx reverse proxy --- dev-env/nginx.conf | 3 +++ vite.config.ts | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/dev-env/nginx.conf b/dev-env/nginx.conf index ac9e22168..e74dfe423 100644 --- a/dev-env/nginx.conf +++ b/dev-env/nginx.conf @@ -10,6 +10,9 @@ http { location /spa { proxy_pass http://frontend:5173; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; } } } diff --git a/vite.config.ts b/vite.config.ts index c6a2d1ecf..2a2041a9a 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -7,6 +7,11 @@ export default defineConfig({ port: 5173 }, server: { - host: true + //https://github.com/vitejs/vite/discussions/3396 + host: true, + port: 5173, + hmr: { + clientPort: 8000 // nginx reverse proxy port + } } }) From 9a9dc7a8a0785f86e3cab2f8c3c3760d2e38e17c Mon Sep 17 00:00:00 2001 From: GPortas Date: Mon, 8 May 2023 10:29:00 +0100 Subject: [PATCH 5/8] Changed: docker-compose-dev pointing to branch dataverse image --- dev-env/docker-compose-dev.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dev-env/docker-compose-dev.yml b/dev-env/docker-compose-dev.yml index a3b52bdd3..330a88296 100644 --- a/dev-env/docker-compose-dev.yml +++ b/dev-env/docker-compose-dev.yml @@ -39,8 +39,7 @@ services: dev_dataverse: container_name: 'dev_dataverse' hostname: dataverse - image: gdcc/dataverse:unstable - #image: gdcc/dataverse:${DATAVERSE_BRANCH_NAME} + image: gdcc/dataverse:${DATAVERSE_BRANCH_NAME} restart: on-failure user: payara environment: From fb80ebfcb693d04f3ca044c805a958a2dc00a613 Mon Sep 17 00:00:00 2001 From: GPortas Date: Mon, 8 May 2023 10:29:42 +0100 Subject: [PATCH 6/8] Added: .env cleanup --- .env | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index 7004ddf97..000000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -VITE_DATAVERSE_BACKEND_URL=http://localhost:8080 From 12b80e479af4bf27776356a384f75e39971dc7a4 Mon Sep 17 00:00:00 2001 From: GPortas Date: Mon, 8 May 2023 11:04:33 +0100 Subject: [PATCH 7/8] Added: dev-env README instructions --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index 61018fd38..357f9bd14 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,43 @@ Launches the prettier formatter. We recommend you to configure your IDE to run p Runs the Storybook in the development mode. Open [http://localhost:6006](http://localhost:6006) to view it in your browser. +## Local development environment + +A containerized environment, oriented to local development, is available to be run from the repository. + +This environment contains a dockerized instance of the Dataverse backend with its dependent services (database, mailserver, etc), as well as an npm development server running the SPA frontend (With code autoupdating). + +This environment is intended for locally testing any functionality that requires access to the Dataverse API from the SPA frontend. + +There is an Nginx reverse proxy container on top of the frontend and backend containers to avoid CORS issues while testing the application. + +### Run the environment + +Inside the `dev-env` folder, run the following command: + +``` +./run-env +``` + +As the script argument, add the name of the Dataverse backend branch you want to deploy. + +Note that both the branch and the associated tag in the docker registry must to be pre pushed, otherwise the script will fail. + +If you are running the script for the first time, it may take a while, since `npm install` has to install all the dependencies. This can also happen if you added new dependencies to package.json. + +Once the script has finished, you will be able to access Dataverse via: + +- [http://localhost:8000/spa](http://localhost:8000/spa): SPA Frontend +- [http://localhost:8000](http://localhost:8000): Dataverse Backend and JSF Frontend + +### Remove the environment + +To clean up your environment of any running environment containers, as well as any associated data volumes, run this script inside the `dev-env` folder: + +``` +./rm-env +``` + ## Deployment Once the site is built through the `npm run build` command, it can be deployed in different ways to different types of infrastructure, depending on installation needs. From eaf26512eb414f79cbefc0fe4389ce478016f59c Mon Sep 17 00:00:00 2001 From: GPortas Date: Mon, 8 May 2023 17:35:27 +0100 Subject: [PATCH 8/8] Fixed: docker images registry --- dev-env/.env | 1 + dev-env/docker-compose-dev.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dev-env/.env b/dev-env/.env index e6a299776..5440ffd9a 100644 --- a/dev-env/.env +++ b/dev-env/.env @@ -1,3 +1,4 @@ POSTGRES_VERSION=13 DATAVERSE_DB_USER=dataverse SOLR_VERSION=8.11.1 +REGISTRY=ghcr.io diff --git a/dev-env/docker-compose-dev.yml b/dev-env/docker-compose-dev.yml index 330a88296..c0f10de89 100644 --- a/dev-env/docker-compose-dev.yml +++ b/dev-env/docker-compose-dev.yml @@ -39,7 +39,7 @@ services: dev_dataverse: container_name: 'dev_dataverse' hostname: dataverse - image: gdcc/dataverse:${DATAVERSE_BRANCH_NAME} + image: ${REGISTRY}/gdcc/dataverse:${DATAVERSE_BRANCH_NAME} restart: on-failure user: payara environment: