# Self-hosting

Install your instance, preserve its data and plan maintenance.

URL: /docs/self-hosting

Postdot runs the API, Studio, scheduler and publication worker in one Bun process.
The default Docker Compose setup uses SQLite and local media storage, with no
separate database or queue service to operate.

## Choose your starting point [#choose-your-starting-point]

<Cards>
    <Card title="Install Postdot" href="/docs/installation/#first-installation">
        Build from a source checkout, configure secrets and start your first instance with Docker
        Compose.
    </Card>
    <Card title="Back up or update an instance" href="/docs/operations/">
        Check what to preserve, prepare for an upgrade and understand recovery after restoring a
        backup.
    </Card>
</Cards>

<Callout title="Source checkout required">
    Public registry images are not published yet. The installation guide builds the image locally
    from the checkout; it does not require pulling a released Postdot image.
</Callout>

## Know what to preserve [#know-what-to-preserve]

The default Compose setup keeps application data in a persistent volume. Deployment
secrets need separate protection.

| Item               | What it contains                                                 |
| ------------------ | ---------------------------------------------------------------- |
| SQLite database    | Application state, including projects and publication records    |
| Media storage      | Uploaded originals, derived previews and avatars                 |
| Deployment secrets | Authentication, media-link signing and publisher encryption keys |

Keep backup copies outside the machine running Postdot. For commands and recovery
precautions, see [backup and restoration](/docs/installation/#backup-and-restoration).

## Adapt the installation [#adapt-the-installation]

- **Public HTTPS access:** set the instance origin and reverse proxy before
  connecting accounts. [Provider connections](/docs/providers/) explains the
  authorization requirements for local and public deployments.
- **Email or S3-compatible media storage:** follow
  [optional email and S3](/docs/installation/#optional-email-and-s3).
  Changing the storage setting does not migrate existing media.

Once the instance is ready, follow [your first publication](/docs/first-publication/)
to try Studio. For routine commands, use
[persistent data and ordinary operation](/docs/installation/#persistent-data-and-ordinary-operation).

