OLA-HD is a mixture between an archive system and a repository.
The input is a .zip
file whose content is structure as BagIt.
The zip content will be validated before any further actions take place.
Data uploaded to the system will be stored in both tapes and hard drives.
The separation rules are defined in the configuration file.
In addition, each uploaded zip get a persistent identifier (PID).
This PID can be used for sharing, citing, and versioning purposes.
More documentation are available in respective folders (back-end
, admin-gui
, and user-gui
).
If you deploy your own instance, a Swagger documentation is
available at /swagger-ui.html
.
For the prototype:
.
├── .gitlab
│ └── issue_templates -> templates used by Gitlab when users want to create issues
├── admin-gui -> the web UI for logged in users
├── back-end -> contains source code for OLA-HD service
├── images -> images used in README files
├── nginx -> the Nginx proxy for the whole system
├── user-gui -> web UI for public usage
├── .env -> environment variables for all Docker images
├── .gitignore
├── LICENSE
├── README.md
├── build.sh -> run this file to build the Docker image and start up the whole system (database, back-end, front-end, reverse proxy)
└── docker-compose.yml -> describe all images in the system
git clone https://gitlab.gwdg.de/pwieder/ola-hd.git
cd ola-hd
./build.sh
All requests go first to the Nginx proxy.
Depending on the URL path, it will either forward the request to the back-end service, or serves static HTML files.
As depicted in the image, there are four components: Nginx, back-end, front-end for normal user, and front-end for admin.
The source code and documentation of these components locate in folder nginx
, back-end
, user-gui
, and admin-gui
respectively.