Deploying

These guides help you deploy marimo notebooks.

Running the marimo backend programmatically

Programmatically run the marimo backend for customization

Deploy with Docker

Deploy with Docker

Deploy to our public gallery

Deploy our public gallery

Deploy to Marimo Cloud

Deploy to Marimo Cloud

Deploy to Ploomber Cloud

Deploy to Ploomber Cloud

Deploy to Railway

Deploy to Railway

Authentication

Authentication and security

Sharing notebooks on the public web

To share notebooks on the public web, try using WASM notebooks, an implementation of marimo that runs entirely in the browser – no backend required.

WASM notebooks support most but not all Python features and packages. See our guide on WASM notebooks to learn more.

Marimo Cloud

For a turnkey cloud solution, try Marimo Cloud.

Programmatically running the marimo backend

When deploying marimo notebooks, you can run the marimo backend programmatically. This allows you to customize the backend to your needs and deploy it in your own environment.

See the programmatically running the marimo backend guide for more information.

Health and status endpoints

The following endpoints may be useful when deploying your application:

  • /health - A health check endpoint that returns a 200 status code if the application is running as expected

  • /healthz - Same as above, just a different name for easier integration with cloud providers

  • /api/status - A status endpoint that returns a JSON object with the status of the server

Configuration

If you would like to deploy your application at a subpath, you can set the --base-url flag when running your application.

marimo run app.py --base-url /subpath

Including code in your application

You can include code in your application by using the --include-code flag when running your application.

marimo run app.py --include-code