> ## Documentation Index
> Fetch the complete documentation index at: https://docs.burakov.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get into Bastion — either sign in to a managed workspace, or stand up your own node.

There are two ways to start with Bastion. Pick the one that fits.

## Option A — Managed (nothing to install)

If your organization uses a managed Bastion workspace, you only need to sign in.

<Steps>
  <Step title="Open the app">
    Use the web app in your browser, or install Bastion for desktop, iOS or Android — see [Download](https://burakov.net/projects/bastion/download).
  </Step>

  <Step title="Sign in with your email">
    Enter your email address. Bastion sends a one-time code — no password to remember. The same account works on every device.
  </Step>

  <Step title="Start talking">
    Open a chat or start a call. Everything is end-to-end encrypted by default — see [Security](/bastion/security).
  </Step>
</Steps>

## Option B — Self-hosted (your own server)

Run the whole platform on a server you control. You'll need a host with **Docker** and a **domain name** pointing at it.

<Steps>
  <Step title="Get the node">
    Pull the image or clone the node repository. Everything the platform needs — database, cache, file storage and the media server — is described in one `docker compose` setup.
  </Step>

  <Step title="Generate config and secrets">
    ```bash theme={null}
    npm run setup      # generates strong, unique secrets and fills in your domains
    ```

    Strong secrets are created for you; the stack refuses to start if a required one is missing, so it can't boot with a weak default.
  </Step>

  <Step title="Bring it up">
    ```bash theme={null}
    docker compose --profile prod up -d
    ```

    HTTPS certificates are issued and renewed automatically. Your database and storage bind to localhost — only the parts that must be public are exposed.
  </Step>

  <Step title="Create your organization">
    Register the organization once, then invite members by email. Manage everything from the [admin panel](/bastion/administration).
  </Step>
</Steps>

<Note>
  Prefer not to run anything yourself? The **managed** option is the same single-tenant stack, operated for you — one organization per instance. See [Pricing](/bastion/pricing).
</Note>

## Next

<CardGroup cols={2}>
  <Card title="Self-hosting" icon="server" href="/bastion/self-hosting">
    Requirements, TLS, and how the pieces fit together.
  </Card>

  <Card title="Administration" icon="users-gear" href="/bastion/administration">
    Invite members, set roles, and configure retention.
  </Card>
</CardGroup>
