jonericcook

jonericcook

Hello,

I have an Elixir library that I’d like to create interactive documentation for. I saw livebook and thought it would be a perfect fit. I am curious if its possible to write said documentation and then be able to create a sharable version of it that can be accessed by anyone.

I launched livebook via fly.io and did a little test page and then shared it. I opened it up on my phone and it asked me to authenticate.

Is my thinking off base to think that a livebook could be something like https://readme.com/ but with inline elixir code evaluation?

Showing Posts 12 to 3

natewallis

natewallis

@jonericcook Definitely a fair question - something I am also wondering as I take my first look at livebook. It is pretty cool, and I was hoping to use it to publicly document one of my personal projects. I thought it might be possible to “publish” a livebook so that there was no editing access available to the code cells and they could just be executed..

EDIT

Just thought about this more on my way morning trip to the supermarket and realised that I missed the point of livebook in this situation (thinking more about the decentralised comment above). Of course you can document your own project, the documentation can live with the repo rather than being published to a central location.

Having a published public view of course introduces access roles and other authentication.

aiko

aiko

From the readme

  • Decentralized: Livebook is open-source and you can run it anywhere. The “Run in Livebook” badges makes it easy to import any Livebook into your preferred Livebook instance.
josefrichter

josefrichter

There was a discussion somewhere here about elixir running in browser. Maybe that could be a potential solution?

Edit: something like this https://blog.jupyter.org/jupyterlite-jupyter-️-webassembly-️-python-f6e2e41ab3fa

aiko

aiko

The idea currently would be, that you create a liveview page and that people having access to a (their own) livebook server execute and play with it in there.

LostKobrakai

LostKobrakai

The sharing part of livebook are not the instances but the files. As others have mentioned sharing the runtime in a secure way is simply not feasable.

BartOtten

BartOtten

Afaik not. Not in a way that would make your Livebook secure. As code input is executed at the server, there is no way to prevent malicious code from running on it.

There are a few threads at this forum about sandboxing Elixir; there you’ll find explanations why it can’t be done (typing at mobile so hard to link)

Livebook seems to have its uses for sharing code snippets and working collaboratively on something, but be careful about opening it up to anyone as it exposes lots of security risks.

A Livebook notebook session is opening access to whatever server/computer the Livebook application is running on. When running in prod mode (highly recommended) anyone with a valid token authentication can use Elixir functions to inspect the filesystems, environment variables, run other programs, and create remote connections to other servers
source

jonericcook

jonericcook OP

edited

Sebb

Sebb

Please do not ping the core team, there are a lot of people here, that can answer this question.

jonericcook

jonericcook OP

would something like a sandbox be possible so a public livebook could be a thing?

Sebb

Sebb

You have to trust all people using it.
Livebook in a sandbox would be cool, but there is no Elixir sandbox (that I know of).

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
Cxx-mlr
I’m working on a small exercise involving update_in/3, and I came up with this solution: data = %{ name: "Periodic Table", category:...
New
ChrisAmelia
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication): toke...
New
dillonoconnor
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New
thiagogsr
** (ArgumentError) expected :max_attempts to be a positive integer, got: {:@, [line: 10, column: 19], [{:max_attempts, [line: 10, column:...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews