Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quick Start

This quick start runs Midden from source with the default SQLite database and local blob storage.

Prerequisites

  • Rust 1.95 or newer with Cargo. The checked-in toolchain file pins 1.95.0 for reproducible local and CI builds.
  • A checkout of the Midden repository.
  • A shell with network access for the first dependency build.

Run From Source

From the repository root:

cargo run -- config print-defaults > midden.toml
cargo run -- migrate
cargo run -- owner create --email owner@example.test --username owner --password change-me
cargo run -- serve

Open http://127.0.0.1:8080.

The default configuration listens on 127.0.0.1:8080, stores SQLite data in midden.db, and stores file blobs under data/blobs.

Upload A File

Open the home page and choose a file, or use the API:

curl -F file=@example.txt http://127.0.0.1:8080/api/v1/files

By default, uploads can be anonymous. Anonymous items receive a delete token in the result; keep that token if you want to delete or later claim the item.

Create A Paste

Open /p/new, or use the API:

curl -H 'content-type: application/json' \
  -d '{"content":"hello","expires":"7d","visibility":"unlisted"}' \
  http://127.0.0.1:8080/api/v1/pastes

Check Health

curl http://127.0.0.1:8080/healthz
curl http://127.0.0.1:8080/readyz

/healthz confirms the HTTP process is alive. /readyz checks database and storage reachability.