Building and Installing¶
Note that most users won’t want to install and deploy their own isntance of thiss-js but will most likely want to use one of the existing service instances such as service.seamlessaccess.org.
The included Makefile has a number of targets aimed at those who want to build and package their own instance:
make setup: Runs
npm installto install all node dependencies
make start: Runs a local development instance with a mocked MDQ/Search service (based on edugain)
make local: Runs a local development instance for a local pyFF instance running on port 8000
make build: Builds the instance running on thiss.io in the dist directory
make standalone: Builds a standalone instance used in the docker container (with envsubst) in the dist directory
make sameserver: Builds a lightweight host agnostic replacement for the deprecated embedded pyFF DS when pyFF is running on the same server
make docker: Builds a docker container (thiss-js:<version>) based on
In order to run your own instance of thiss-js you need a search-capable MDQ server (eg pyFF or thiss-mdq) with some metadata in it. Assuming your MDQ is running on port 8080 in a container called mdq the following should work:
# docker run -ti -p 9000:80 \ -e MDQ_URL=http://mdq:8080/entities \ -e SEARCH_URL=http://mdq:8080/entities \ -e BASE_URL=http://localhost:9000/ \ -e STORAGE_DOMAIN="example.com" \ thiss-js:1.0.0
- Replace example.com with the domain of your DS instance - eg localhost if you are just experimenting.
- Some MDQ implementations have multiple search endpoints - you only need one that is capable of returning JSON-formatted metadata for this to work.
- Running your own instance of thiss-js means having your own ORIGIN for browser local storage. If you want to share storage domain with another instance of thiss-js then you’re better off implementing your own discovery frontend (eg to thiss.io). This is documented in github.com/TheIdentitySelector/thiss-ds-js.