rekkice

rekkice

Deploying apps using Livebook Desktop

Hello,

I’ve been using Livebook to create notebooks aimed at non-technical users, but I’ve run into a problem. The presence of code cells can be intimidating for some.

The typical workaround would be to deploy these notebooks as apps, which hides the code, but that requires setting up environment variables, which isn’t very accessible for users running Livebook Desktop.

For now, I’ve advised them to use the “Preview” app feature, but that approach isn’t very intuitive either.

Is there an alternative way Livebook Desktop could support auto-deploying apps or offer a more user-friendly method to launch them in app mode?

Most Liked

jonatanklosko

jonatanklosko

Creator of Livebook

One more option is for the users to change the notebook view to hide code cells:


Then it looks like this:

Note that changing the view is not persisted in the notebook, it’s temporary user preference, so they would need to always change the view explicitly. It also means they still need to run the cells to see results; if you want the results to show up upfront, then apps may indeed be a better fit.

felix-starman

felix-starman

Livebook Teams?

If you add the environment variable to the team, they don’t need to keep track of them.

Auto-deploying should also be single click, assuming you’re following their guides and are in a supported setup for that.

Don’t quote me on it though.

Generally though I think this what LV Teams is specifically meant for :slightly_smiling_face:

hugobarauna

hugobarauna

Livebook Core Team

Livebook is a development environment by default, so it doesn’t have a way to auto-deploy apps without technical knowledge.

That said, we created the Livebook Apps feature for a use case like yours. Once you develop a Livebook app, you can deploy it, so its users don’t have to install Livebook, they can access your deployed app through their browser.

You can deploy apps in two ways:

  • via a Docker container
  • via Livebook Teams

Here’s a demo of deploying a Livebook app in both ways:

All that said, there’s one way Livebook can automatically boot apps saved in a specific dir, set by the env var LIVEBOOK_APPS_PATH. Still, it doesn’t look like this is a good option for your use case.

My suggestion would be Livebook apps deployed with Docker or with Livebook Teams.

Where Next?

Popular in Questions Top

gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
dokuzbir
Hello, I am trying to convert my lists to string without losing brackets.For start i have 3 map. They look like these buyer = %{ id: ...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
gonzofish
I’m currently trying to understand how to join three tables using Ecto. All the examples I’ve seen use 2, so maybe I’m just missing somet...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
Mooodi
Given a string, how can I get access to its character by index? Enum.at("my_string", 2) doesn't work. Or rather, not char, but a substr...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

Other popular topics Top

yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement