🏠 back to Observable

Noob: Can you run your own Observable server


#1

Hi.

Can I run a server for hosting Observable notebooks similar to a Jupyter server?
Sorry if the answer is obvious somewhere – I couldn’t find it.

Thanks! – Aaron Watters


Run your notebooks on a server without you
#2

Hi Aaron!

Sure - something similar was asked in this thread - the answer’s, well: we’re soon going to open source the runtime for Observable, making it possible to export a notebook and include it on another website/webpage. But that won’t include the editable notebook interface or the rest of observablehq.com - unlike Jupyter, we’re really aiming to create a community and cross-pollination of concepts and code rather than individual installations. We might eventually launch something that enables offline editing, but that’s a bit further out in the future.


#3

Is this prioritized above or below embeddability? I was thinking of using observable for a blog post (dynamic programming tutorial), but I would want my own space/branding


#4

Exporting notebooks and being able to run them on your site / embed them in your page is happening very soon, self-hosting the editor interface and/or site, may happen later.


#5

@AaronWatters, @jacobjensen — Embeddable notebooks are now available. The full details are here:

You can download your compiled notebooks and upload them to your server, or load them directly from api.observablehq.com with your provided access key. With the first method, you’re completely independent of observablehq.com, but with the latter, you can get live updates to your (for example, dynamic programming tutorial) every time you hit “Publish” again.


#6

Already loving it! :smiley:


#7

Superb. Thank you all for these amazing OSS contributions!


#8

wow!

Two quick questions:

  1. is there (going to be) a way to get a list of all the meta-information for our notebooks (access key, last-modified, version number, slug, status), so we could use that to backup everything?

  2. what is the browser support (current and aim)?


#9

@Fil,

  1. This is the first little piece of our public API. There isn’t yet a documented way to navigate your notebooks programmatically, but that would be a logical next step. We certainly believe in making it easy for you to backup everything in an executable format — it’s your code after all! And that’s what open sourcing the runtime is all about.

  2. The notebook-runtime is the same codebase that observablehq.com uses to run your notebooks, and has the same browser support targets: the evergreen browsers — Chrome, Firefox, Safari, Edge and Node.js. That said, if you need wider browser support, we’d certainly be happy to look at pull requests against notebook-runtime that enable it.


#10

thanks! I don’t need anything specific in terms of browser support, but it’s cool to know the perimeter


#11

Everything I’ve tried just works… even access to the camera! bravo!


#12

I have 6k+ developers that would love to use this amazing little tool of yours day in and day out, but for the most part we can’t as our rules don’t us put the majority of our intellectual properties online. I am constantly having to remind people until we can save our notebooks internally, we won’t be able to use it for much more than generic examples and such.

I understand the desire to build a sharing community, but a lot of hug communities have internal use only, then we share what we are allowed. It will be hard for many developers, data scientists, etc to use your cool invention.

Either way, love your work, I am currently building an amazing training notebook to get my 70 developers using functional js, and your notebooks are making that a a dream. Many thanks.

-Chris Milford
https://www.linkedin.com/in/chrismilford/


demo of how to run an entire notebook locally?
#13

Hey Chris.

Thanks for the kind note! (And I remember and appreciate much of the excellent open source Walmart Labs has developed over the years…)

To focus a little bit more on what you’re asking for — we’re currently hard at work on a feature set that will make Observable notebooks work well for teams: private notebooks, share and collaborate for internal use only, that you can publish to the public when you see fit (or not). Think along the lines of GitHub private team repos.

Do your rules at work permit that sort of team use on a hosted service? Or are you guys only allowed to develop code hosted on servers entirely in house?

Cheers,
Jeremy


#14

Unfortunately in-house only, and hehehe band from anything aws. :wink: We have our own internal github, npm, etc. We would need to be certain that our algorithms that make us who we are and let us do what we do stay ours. We share other things like you said in fact many years back one of my first good videos on node.js came from a WM developer. :slight_smile: I contribute when i can to ag-grid and the angular community, but I dig what you guys are doing as I made something similar many years back I called it one field (I am a former unix systems engineer, so i have special love for command line) … a solution that would maybe work would be we fire up oN (observableNotebook?) :slight_smile: . and it lets me point to internal source to just pull in maybe the json or whatever voodoo thats under the hood, and then the chocolate and peanut butter collide. Sort of how vsCode gives you the source, and instead of hoarding plugins and such we as a community not only build the extensions and provide constant fixes and feedback, others in community invent stack-blitz. I want to embed your notebooks right in my app, so data scientists can tweak there d3 visualizations through your interface and the results are instantly there for our internal customers. I want to provide living style guide for my developers. Once I saw your stuff in action, I was like this is a game changer, and why isn’t this the only topic afoot? Then when I figured out i can’t do it in the privacy of my own network, i was very sad. Though that hasn’t stopped me from getting peoples hopes up with the possibilities and the hope you might find a way… If you can’t you can’t I mean I can see the $ potential there, so I get it, worse case scenario I’ll do my best to recreate what I can, just for the sake of seeing how close I can get :wink: Were are the jobs of making break-throughs like this? Gotta be like Mike and make your own hehehe, thanks for the response, seeing how it works and playing with it already has my brain spinning off out of control… I dropped some three.js in there and a few controls, and that gave me a new idea on an angular app I am building, I should it to my data scientist and he was like ‘I Wants’, so again way to take a different slant and spur some interesting new tech. -Chris


#15

We may offer some on-premise (self-hosted) enterprise solution in the future, but our current focus is on developing cloud-hosted private collaboration for teams.


#16

Hey @mike, awesome work.

I really would like to use this internally in my company - we have private code and multiple people working on the same visualizations at the same time.

Is this something that is on the timeline?
or should we just continue writing d3+git for the time being :slight_smile:


#17

I would like to second the idea that internal hosting is the only option for many companies. I first ran into this tool today while following a trail via TensorFlow.js. I believe there would bean opportunity for teams to develop notebooks using Observable in-house, if this were supported. For many companies, the idea of hosting IP outside the organizations, no matter how strong the security may seem, is a show-stopper.

I was immediately struck, when looking at this, at the idea that editors could be extended (with JS, HTML, CSS-specific code highlighting, for example) and notebooks could also be edited in tools like Visual Studio Code (with suitable plugins) to make the process so much richer.

I would encourage you to evaluate the possibility of offering expertise (for a price) rather than a specific technology foundation. This approach encourages wider adoption, more solid technology foundations and is a proven business model that doesn’t restrict access to a single web site. This may not be the current plan but a lean startup strategy may be suggesting this direction, given the feedback I’ve read here. This is a potential huge adoption gap for a large part of the community you are trying to reach (for IP reasons).

PS: Thanks for developing this. I plan to dive in and learn more. This will likely fit my personal needs but I am a community of 1 and cannot realistically evangelize inside the company I work for given the hosting limitations,


#18

I actually really resonate with what claude is saying.
The power of ipython/jupyter was:

  • use your own data
  • host is on your machine or on your internal private network
  • work offline
  • it’s open source

I expect that devs can already build up with what’s out there a very simple editor for observable.
I think there is still venue for observablehq.com to be the platform where packages are host and open source is written, teams can collaborate etc…


#19

hear hear! also, I’d like to see this happen too!


#20

I thought this was related. Link to running observable headless by @jflatow :