RSD-as-a-service
HIFIS Notes
Welcome to the HIFIS-Fork of the Research Software Directory. This fork contains adjustments for the Helmholtz Research Software Directory (https://helmholtz.software).
Our mission: To promote the visibility, impact and reuse of research software
This repo contains the new RSD-as-a-service implementation. The service can be found at
- https://helmholtz.software
- https://research-software-directory.org (Upstream, Netherlands eScience Center)
Badges
fair-software.nl recommendations | |
---|---|
(1/5) code repository | |
(2/5) source code license | |
images & docs licenses |
|
(3/5) community registry | |
(4/5) citation | |
(5/5) checklist | |
overall | |
Other best practices | |
Contributor covenant | |
Contribution guidelines | |
Tests | |
Citation metadata consistency | |
Frontend |
|
Backend | |
Authentication |
|
Scrapers |
|
End-to-end |
How to build and run the RSD
Building from source code
- Before installing the dependencies ensure that you have
docker
anddocker compose
V2 (see the documentation of Docker Compose) locally. - You will also need
make
to automate the configuration and installation process. - Set the required environment variables:
Copy the file
.env.example
to.env
file at the root of the project and fill the secrets and passwords. Check if the secrets are correct. TheMakefile
will take care about creating an appropriatefrontend/.env.local
from the.env
file, needed only when developing the frontend. - Run
make install
to install all dependencies and build the docker images.
Running the services
# Start the containers via the make file
make start
# OR directly use docker compose
docker compose up
Stopping the services
# Stop all services via the makefile
make stop
# OR directly use docker compose
docker compose down
Developing the RSD
We discourage the use of Safari for developing the RSD. The reason is that it is not possible to sign in with Safari on localhost, because Safari handles secure cookies differently from other browsers.
When you need DOIs to test out functionality involving mentions, some lists can be found at pull request #808.
For more details on developing the RSD, see the respective readmes in the varying directories.
Developing the frontend
You can run frontend in development mode as docker a service (called frontend-dev) that enables hot reloading. By default this frontend-dev service will not be started automatically. For more detailed instructions see frontend/README.md.
# Run frontend development using docker at http://localhost:3000
make frontend-dev
# OR use docker compose directly
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
It is possible to directly run the frontend too (without using a docker container). You must then have Node.js installed, see the Dockerfile
in the frontend directory for the version in use.
# Build and install all dependencies.
make install
# Run the frontend and the documentation on localhost:3000 and localhost:3030
make dev
# Stop all services with `docker compose down`
make down
License
The content of this repository is licensed under several licenses. We follow the REUSE specification to indicate which license applies to the files specifically. Here are some general hints:
- Helmholtz specific source code is licensed under
EUPL-1.2
- Source code coming from upstream is licensed under
Apache-2.0
- Documentation and most images are licensed under
CC BY-4.0
- Some files with trivial content, e.g. configuration files, are licensed under
CC0-1.0
For more details on the licenses, please have a look at the file headers or associated *.license
files. The terms of all used licenses are located in the LICENSES directory.