Skip to main content

App

An app is a web application (a dashboard, a demo, an interactive report) that Renku hosts at a public URL. Anyone with the link can open it, without a Renku account and without launching a session.

An app is created by an app launcher, which is a Launcher of the app type, and runs the Environment configured on that launcher. Unlike a Session, an app belongs to the project rather than to you: there is one of it, it stays up between visits, and everyone who opens the link sees the same running app.

To create one, see Publish an app.

How an app differs from a session​

SessionApp
Who can open itYou, once you launch itAnyone with the link
How manyOne per person, per launcherOne per project
LifetimeUntil stopped or timed outUntil stopped
Code repositoriesCloned into the sessionNot cloned
Data connectorsAll of them, with credentialsPublic ones with no stored credentials
Session secretsAvailable to the sessionNot available
Project visibilityAnyPublic only

If you want an interactive environment to work in, you want a session. If you want to publish something for other people to look at, you want an app.

What an app can reach​

An app is open to the internet and is not tied to any particular person, so it has access to less than a session does.

Data connectors are mounted only when they are public, need no stored credentials, and are not backed by an account you connected, such as Google Drive or Dropbox. A connector that fails any of these is left out, because otherwise anyone on the internet could read your data through the app. Mounted connectors are read-only. See Data Connector.

Code repositories are not cloned. Your app's code has to already be in its image; data connectors and environment variables can still reach it, as described above and below.

Session secrets are not available, for the same reason as credentialed data connectors.

Environment variables set on the launcher are passed to the app. Because an app is public, treat every variable as public too and do not put secrets in them.

Apps sleep when nobody is using them​

An app that has had no traffic for about fifteen minutes is scaled down to nothing. It costs no resources while it sleeps and it wakes on the next request, which takes a few seconds, or longer for a large image.

The Renku app URL handles this for visitors: it shows a waiting screen and forwards them once the app answers. This is why you share the Renku URL rather than the address your browser ends up at once the app has opened.

Renku still reports an app as Live while it sleeps. Live means deployed and healthy, not currently running.

Editing an app launcher​

An app launcher is edited like any other session launcher: its environment, resource class, and environment variables. Changes do not reach a running app: it keeps its old definition until it is stopped and started again.

Deleting an app launcher stops its app (see Publish an app).