Launch Stardog on a server

Hello everyone,

I’m trying to create a node.js app (on Heroku) and to launch Stardog on it. Thanks to that, I’ll be able to request my Stardog DB through Heroku.

Do you know if it’s possible ?

Do you have any ideas to launch a Stardog instance on a server (free or not !) ?

Indeed, my programs works like a charm, but my endpoint is in local. I want to use my requests with any computers ! :smiley:

I’ve been thinking of a thing like “I store my file (.ttl in my case, but it can be .rdf or any other formats) in a website (like www.example.org/myFile), and I query this file with Stardog thanks to my node.js program.” But there’s a problem, I think : 0 instances of Stardog are launch, so I have 0 endpoints, …

Thanks,
Clément

Hi,

Any server that can expose port 5820 (or whichever port you would choose to have Stardog run on) ought to work and accept requests on that port, given (of course) proper authentication

Thanks for your answer.

To run Stardog on any server (let’s take Heroku) I need to install Java and then Stardog ?

Because I do not have a proper server. I need to use something to host my instance. If I want to, what website would you recommend to me ?

Clément

Moreover, do you have any example of what code i’m supposed to launch on that kinds of servers to create an instance of Stardog ?

Thanks,

Hi,
You need to be able to have java 8 installed, and deploy Stardog as described in the documentation http://www.stardog.com/docs/

No code, just read the steps in the manual of installation (you can do it in one script)

What do you mean by “No code” ? On Heroku, we cannot install something like by pushing files into it, I think ?

I spent like 4 hours on trying to install Stardog (on Heroku or other)… I really tried, but I’m not able to do this. Just a tip, I’ll handle the rest by myself :slight_smile:

I don’t know how Heroku works! I’ve deployed many times Stardog on servers for my ORG and it’s easy…

Probably, but I don’t see the tip there. I’m not able to go onto my server, create things onto it, and navigate on it.
I don’t have a cool server like “ok in my terminal I install my stardog like I can do on localhost”.

The instances you deployed for your company, on which server they are/were ?

Heroku is like an application launcher. You can launch it in node.js, python, java, … The point is that i’m not able to navigate as if the server was on my terminal (do you see the difference?)

I haven’t used Heroku either but as you said it seems to be more an application server rather than a plain VM so if you wrote and application that embedded Stardog you could deploy it easily there. It sounds like what you’re looking for is a VM where you can ssh onto it, install java and Stardog and run like an Amazon EC2 instance.

Thanks. I was creating an AWS account when your comment poped. I’ll jump onto it, and come back here if needed.

Thanks @gatemezing @zachary.whitley .

Clément

Ok, I’ve created the EC2 instance and I’ve installed Java&Stardog. I launched my stardog instance and it works well.

But now, how can I do to access to my stardog server from the exterior ? Like my ec2 instance looks like myec2address.compute.amazonaws.com and my stardog instance looks like http://localhost:5820. How can I request my stardog instance ?

Thanks,

Clément

HEllo;
Did you have a chance to read this http://www.stardog.com/docs/#_deploying ? HTH

Yes but I cannot run sd-graviton. I’m on Windows (company things).

Like this command (launched on another computer, not the same network) doesn’t work :frowning:

stardog.bat query http://myEC2Instace.compute.amazonaws.com:5820/myDb "select * where { ?s ?p ?o } LIMIT 10"

Connection timed out: connect

I don’t use proxy or whatever things that can block my connexion to aws.
Moreover, I allowed all kinds of connexions on aws. (SSH, …)

Did you try http://myec2address.compute.amazonaws.com:5820 ? And did you specific allow access to port 5820?

Yes I did, and yes again.

I allowed the access for all protocols, on all ports.

Moreover, I cannot ping my AWS EC2 instance. I followed a lot of tutorials (like add security rules, custom ICMP rule on echo request, disable my firewall or other things) but it doesn’t work.

See my stackoverflow post here : https://stackoverflow.com/questions/46972057/cannot-ping-my-new-aws-instance?noredirect=1#comment80893354_46972057

Clément

@barbotclem, I’m doing some work on deploying stardog to an aws vpc this afternoon. My architecture puts things like stardog and other persistence layer software in a private subnet. I’ll do my initial deployment to the web tier, so I can access it directly, and get back to this thread.

Hi @grosscol . Thanks, it’ll be helpful. Clément

Did you ask to AWS how to set up and open relevant ports for apps?