Skip to content

Quick start

This guide starts ShinyHub locally, validates an application, previews the deployment, and opens the routed result.

Start the server

uv tool install shinyhub
shinyhub serve

Complete the first-run administrator setup and leave the server running. The default address is http://localhost:8080.

Create a small Python Shiny app

mkdir hello-shinyhub
cd hello-shinyhub

Create app.py:

from shiny import App, ui

app_ui = ui.page_fluid(
    ui.h2("Hello from ShinyHub"),
    ui.p("A production-shaped deployment in a few commands."),
)

app = App(app_ui, server=None)

Create requirements.txt:

shiny>=1.6

Validate locally

shinyhub doctor . --local
shinyhub run . --check

doctor reports all bundle and runtime problems in one pass. run --check boots the app through the production-shaped /app/<slug>/ route and exits after readiness succeeds.

Connect and deploy

shinyhub connect http://localhost:8080 --name local
shinyhub doctor .
shinyhub plan . --slug hello
shinyhub deploy . --slug hello --open

plan is read-only. It shows the exact archive, inferred launch command, manifest changes, permissions, and start/stop effects before deploy changes the server.

Continue