blazegraph / database

Blazegraph High Performance Graph Database
GNU General Public License v2.0
872 stars 170 forks source link

How to host my own triplestore using blazegraph? #159

Open jackow98 opened 4 years ago

jackow98 commented 4 years ago

I am new to using Blazegraph and am have been developing with it locally as part of a project over the past few months. I am currently trying to host an instance of my triple store online and have got to the point where I am lost going around in circles.

My application uses a spring-boot API to manage any interactions with the triplestore. I originally used docker-compose to host both on my local machine and was able to query and update the triplestore with no problem. This is the docker-compose.yml file I used:

version: '3'
services:
  triplestore:
    image: lyrasis/blazegraph:2.1.5

    ports:
      - "9999:9999"
    restart: on-failure
    networks:
      - jacks-net
  api:
    build: .
    ports:
      - "8080:8080"
    networks:
     - jacks-net
networks:
  jacks-net:

When it came to production, I tried using Heroku to deploy my docker-compose application to find that Heroku doesn't seem to support this. I was only able to host the API on Heroku using the following Dockerfile:

FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

I have also tried to host the API and Triplestore separately using Docker and Heroku for the spring-boot API which appeared to work fine. I have attempted to use Heroku's executable jar capabailities to host the bigdata.jar file provided by Blazegraph with no success.

I would really appreciate some suggestions and guidance regarding the best way forward. How do I host an instance of Blazegraph to use with my spring boot API? Can I use the docker-compose.yml file I have using locally?

Thanks in advance for the help :)