ordinaryd 0.7.0

Ordinary Server
Documentation
<!--
Copyright (C) 2026 Ordinary Labs, LLC.

SPDX-License-Identifier: AGPL-3.0-only
-->

# Ordinary Server

[![crates.io](https://img.shields.io/crates/v/ordinaryd.svg)](https://crates.io/crates/ordinaryd/0.7.0)
[![docs.rs](https://img.shields.io/docsrs/ordinaryd/0.7.0)](https://docs.rs/ordinaryd/0.7.0)
[![dependency status](https://deps.rs/crate/ordinaryd/0.7.0/status.svg)](https://deps.rs/crate/ordinaryd/0.7.0)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)

Server daemon for Ordinary.

## Installation

Prebuilt releases are provided [here](https://codeberg.org/ordinarylabs/Ordinary/releases).

**Note:** When building from source, [`esbuild`](https://esbuild.github.io/getting-started/#install-esbuild)
will need to be installed because it is used to bundle the
[built-in](https://codeberg.org/ordinarylabs/Ordinary/src/branch/main/core/servers/app/assets/v1)
TypeScript/JavaScript files.

### git

```sh
## clone
git clone https://codeberg.org/ordinarylabs/Ordinary.git

## install (will take awhile)
cargo install --path Ordinary/core/apps/daemon/ 
```

### crates.io

```sh
cargo install ordinaryd@0.7.0

## OR if your platform has prebuilt binaries in <https://codeberg.org/ordinarylabs/Ordinary/releases>
cargo binstall ordinaryd@0.7.0
```

### Homebrew

```sh
## add the Ordinary Labs tap
brew tap ordinarylabs/tap --custom-remote https://codeberg.org/ordinarylabs/homebrew-tap

## supported for `aarch64-apple-darwin`, `aarch64-unknown-linux-gnu`, `x86_64-unknown-linux-gnu`
brew install ordinaryd
```

## Quick Start

Initialize a new instance.

```sh
ordinaryd init \
    --password '******' \
    --environment development \
    --api-domain ordinaryd.local \
    --storage-size 10000000
```

Start initialized instance.

```sh
ordinaryd api \
    --environment development \
    --provision localhost \
    --insecure \
    --port 4433 \
    --redirect-port 8080 \
    --storage-size 10000000 \
    --stdio-logs \
    --swagger
```

## CLI Documentation

```sh
ordinaryd --help
```

See: [docs/cli-reference.md](https://codeberg.org/ordinarylabs/Ordinary/src/branch/main/core/apps/daemon/docs/cli-reference.md).

## On Shutdown (terminate/ctrl-c)

When shutdown, the daemon will "gracefully" shut down all open http1/http2 connections
via [`hyper`'s](https://docs.rs/hyper/latest/hyper/)
[
`graceful_shutdown`](https://docs.rs/hyper-util/latest/hyper_util/server/conn/auto/struct.UpgradeableConnection.html#method.graceful_shutdown)
method; this should allow for all connection dependent tasks to resolve prior to termination.

Non-connection based background tasks (cache and log syncing) still need to be set up to run a final time prior to
termination
and after all connections have been closed.

## License

Copyright 2026 Ordinary Labs, LLC

Licensed under the GNU `AGPLv3`: <https://www.gnu.org/licenses/agpl-3.0.html>

## Security

THIS CODE HAS NOT BEEN AUDITED OR REVIEWED. USE AT YOUR OWN RISK.

Refer to the [Security Policy](https://codeberg.org/ordinarylabs/Ordinary/src/branch/main/SECURITY.md).