Pre: To run this first you need an Arkisto Standard OCFL repository
Current guide applies to Mac and Linux:
- Install docker application and docker compose (as of 2023, docker compose comes with docker installation)
- Mac only: Open docker application (no need to sign in) and give permission for /opt/storage/oni (Gear icon > Resources > File Sharing > Browse > Find /opt on local drive > Select + > Apply & restart)
- Verify your docker-compose.yml points to the right ocfl repository
- Currently, using Oni version 1.6.0
- Base
configuration.json
is provided, modify as you wish - Start an Oni
docker compose up
- Wait for oni to be ready
- Create a structural index and an elastic index by running:
npm install
node structural-index.js
node elastic-ocfl-oni-index.js
(Note: running this will delete all the 'items' index, so if working with notebooks for example,node elastic-notebook-index.js
would need to be re-run).- GitHub iPython Notebooks
- Create a configuration file called notebooks.configuration.json and include
{"key": "GITHUB_ACCESS_TOKEN", "org": "GITHUB_ORG", "binderUrl": "BINDER_URL"}
e.g.{"key": "YOUR_GITHUB_ACCESS_TOKEN", "org": "Australian-Text-Analytics-Platform", "binderUrl": "https://binderhub.example.cloud.edu.au"}
node elastic-notebook-index.js
(Note: this will add notebooks to the items index)
- Create a configuration file called notebooks.configuration.json and include
- Vocabs
- To add graph like vocabs run
node vocabs-index.js
this will add a second index called vocabs - Vocabs are searched with exact match first trying https://purl.archive.org/language-data-commons/terms#<> and then http://schema.org/<>
- To add graph like vocabs run
- Develop Portal:
cd portal
npm install
npm run dev
- Open a browser to http://localhost:11000
- Create a production version of the portal
- Create production containers
- Do not use npm link. For that we need to stamp out libraries and remove unused ones
In configuration.json, githubToken
requires an API key for BinderHubCard.component.vue to access the Binderhub Registry. Do not save your token.