# Ordinary Server

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

```sh
Ordinary Server

Usage: ordinaryd [OPTIONS]

Options:
      --init
          whether a multi-domain project should be initialized
      --environment <ENVIRONMENT>
          environment (e.g production, development, staging) [default: staging]
      --admin-domain <ADMIN_DOMAIN>
          domain name for admin console
      --admin-contacts <ADMIN_CONTACTS>
          contacts for the admin domain cert provisioning
      --dedicated-ports
          give each app its own port
      --domain-override <DOMAIN_OVERRIDE>
          use a different domain than the config
      --user <USER>
          user to run the instance under [default: root]
      --password <PASSWORD>
          instance user password [default: password]
      --mfa-stored
          store the MFA key instead of copying a QR code
      --data-dir <DATA_DIR>
          specify the data directory [default: ./.ordinary]
      --project-dir <PROJECT_DIR>
          for running a standalone project. (project must already be built)
      --insecure
          run without HTTPS
      --insecure-cookies
          run with insecure cookies
      --provision <PROVISION>
          what mode TLS certs should be provisioned in [default: localhost] [possible values: staging, production, localhost]
      --port <PORT>
          specify HTTP(s) port for server
      --redirect-port <REDIRECT_PORT>
          specify HTTP port for server when running in secure mode
      --storage-size <STORAGE_SIZE>
          Storage size in bytes (rounded up to nearest OS page size)
      --stdio-logs
          logs events to stdio
      --stdio-pretty
          whether to pretty print stdio logs
      --stdio-json
          whether to print stdio logs as json
      --json-logs
          persists JSON formatted log lines to <data-dir>/logs/
      --log-level <LOG_LEVEL>
          base log level for every component [default: info] [possible values: error, warn, info, debug, trace]
      --with-span-timing
          dictates whether timing information should be logged
      --log-file-rotation <LOG_FILE_ROTATION>
          rate at which new log files are generated [default: minute] [possible values: day, hour, minute, never]
      --log-headers
          whether HTTP request and response headers are logged
      --redacted-header-hash <REDACTED_HEADER_HASH>
          [default: none]
      --log-ips
          whether IP Addresses are logged with HTTP requests
      --log-size
          whether storage sizes are logged
      --log-index
          whether to index logs so they can be queried
      --log-sync-interval-min <LOG_SYNC_INTERVAL_MIN>
          min duration between log indexing operations. (seconds) [default: 15]
      --log-sync-interval-max <LOG_SYNC_INTERVAL_MAX>
          duration between log indexing operations. (seconds) [default: 45]
      --log-max-ttl-days <LOG_MAX_TTL_DAYS>
          max period of time logs are indexed/stored [default: 7]
  -h, --help
          Print help
  -V, --version
          Print version
```