System Requirements

System Requirements

Repox (opens in a new tab) is a digital repository system that consists of 2 main components. Repox API and Repox UI. The Repox API implements all the system's essential functions and makes them available as a REST API in the graphical interface (Repox UI). The Repox API uses a relational database, while the file system of the machine it is installed on is used for file storage. The Repox API has been implemented in Java using the Spring Framework, while the Repox UI has been implemented in React.

Hardware Requirements

Minimum Specifications

  • CPU: new processor (e.g. 2 cores)
  • RAM: 4GB
  • Storage: >=60GB (depending on needs)

Recommended Specifications

  • CPU: new processor (cores >=4)
  • RAM: >=8GB
  • Storage SSD >=250GB (depending on needs)

Software Requirements

Repox is available for installation as docker (opens in a new tab) container images. This ensures the independence of the correct execution of the application from the versions of the underlying operating system and its libraries.

The Repox Store requires the following containers to run:

  • repox-api : To Java API του Repox Store
  • Repox-ui : Το UI του Repox Store
  • Repox-web: repox-web: nginx web server that makes the individual components available
  • Repox-db: PostgresSQL Database
  • Repox-elastic: ElasticSearch Database

The docker compose (opens in a new tab) software is used for the installation, configuration and execution of the above containers.

Software Requirements

  • Operating System: Linux
    • Ubuntu LTS (latest version) Server Edition with support of docker containers
  • Docker
  • Docker Compose

Network Requirements

  • Access port 80 TCP protocol for access via http protocol
  • Access port 443 TCP protocol for access via https protocol. Access via https requires the existence of a DNS record pointing to the IP of the machine and one of the following:
    • Provision of a valid https digital certificate for the said domain.
    • The system must be accessible from the internet via the http protocol with the domain in question
  • Internet access for installation and update.