Installation with Docker
Setup Accurids in Your Environment
Accurids is distributed via our AWS Docker repository. To get access to our Docker repository, we require your Amazon account ID for which we then grant access to our Docker registry. Once that is done, you can login to our repository via the Amazon CLI tools. Detailed information can be found here at AWS.
We recommend to run Accurids on a server with at least 16 CPUs, 64 GiB memory, 200 GiB provisioned IOPS SSD volume and 3000 IOPS (e.g., an AWS EC2 instance type m5a.4xlarge).
Accurids runs in docker containers. If docker is already installed on your system, you can skip this step. Otherwise, install docker (example for Amazon Linux).
sudo yum update -y sudo amazon-linux-extras install docker sudo systemctl start docker sudo systemctl enable docker sudo usermod -a -G docker ec2-user
Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version
Afterwards, log off and on again.
Installation of Docker Image
Accurids is distributed as a Docker image, so you need Docker to start it. We also have a default docker-compose file to get you started even faster, so make sure you also have docker compose installed. Here is the default docker-compose.yml
version: "3.7" services: accurids: image: 858273179365.dkr.ecr.eu-central-1.amazonaws.com/accurids:stable container_name: accurids restart: always ports: - "8080:8080" environment: - "elasticsearch_host=elastic" - "elasticsearch_cluster=docker-cluster" - "spring.mail.username=smtp-user" - "spring.mail.password=smtp-password" - "spring.mail.host=smtp.example.org" - "email@example.com" - "accurids.maxParallelImportsPerNode=2" - "spring.profiles.active=local-h2" depends_on: - "elastic" volumes: - "working-dir:/working-dir" networks: - accunet elastic: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.1 container_name: elastic restart: always ports: - "9200:9200" - "9300:9300" volumes: - esdata:/usr/share/elasticsearch/data networks: - accunet environment: - "discovery.type=single-node" - "ES_JAVA_OPTS=-Xms30g -Xmx30g" - "indices.query.bool.max_clause_count=2048" - "http.max_initial_line_length=16kb" healthcheck: test: ["CMD", "curl", "-f", "http://elastic:9200"] interval: 1m30s timeout: 10s retries: 3 start_period: 40s volumes: working-dir: esdata: networks: accunet:
Based on your preference and available system resources, you can set the maximum number of parallel dataset imports. To do so, set the optional environment variable
accurids.maxParallelImports (as shown in above example) to the desired integer value.
When the variable is not set, a maximum of two parallel loads are conducted.
Configure Mail Services
When built-in user management is activated, Accurids can verify the registration by email.
This is not applicable, when OAuth2 Setup is used for authentication. In that case or if you want to disable email confirmation, set
accurids.confirm-user-email=false. No further configurations are needed in this case and all mail-related variables mentioned below can be removed.
To setup the email service, set credentials for authentication with
spring.mail.password. Specify the mail server to connect to with
spring.mail.port. The pre-configured default port is
587. Please ensure that the mailserver is reachable from the server where Accurids runs.
Furthermore, the sender address of emails sent by Accurids can be customized with
accurids.from-email. The default sender address is
Create a Network and Volumes
The Accurids docker network
accunet is used for network communication and external volumes to store data and configurations. Usage of the external volumes prevents any data loss after containers restarting.
Create a network and volumes to allow communication between Accurids and Elasticsearch containers:
docker network create accunet docker volume create working-dir docker volume create esdata
Make sure that all was created correctly:
docker network ls docker volume ls
Starting Accurids and ElasticSearch Containers
The newest version of Accurids can be fetched via ECR using your YOUR_AWS_ACCESS_KEY_ID for which we granted access to our Docker registry. This can be done by the following commands.
$(aws ecr get-login --no-include-email --region eu-central-1 --registry-ids YOUR_AWS_ACCESS_KEY_ID) docker-compose pull docker-compose up -d
Make sure that services are up and running.
After installation you can open your browser and navigate to your servers. If you used the default docker-compose file, then you also have to specify the port (e.g., http://127.0.0.1:8080). The first thing you should do is to click on the "Sign In" button, then click on the "Sign Up" link beneath the form. Enter your account details to create the first user. The first user will automatically be granted the administrator role.
Go to the Datasets view of Accurids and upload an RDF file of choice to get first content in. If you don't have an RDF file at hand, you can download examples such as the Gene Ontology from EBI.
Search & Browse
Go to the Search and type '*' or a term related to the content you uploaded (e.g., 'regulator' or 'aspirin' - if you uploaded the Gene Ontology).