ivx research

ivx research Disclosure Configuration

Configuration

Configuration file

Disclosure reads its configuration from a TOML file. By default it looks for disclosure.toml in the current directory, or you can specify a path with the --config flag.

[server]
host = "0.0.0.0"        # Listen address
port = 8080             # Listen port
domain = "localhost"    # Public domain (used for federation and URLs)

[database]
path = ""               # Path to SQLite database file (empty = auto)

[tls]
enabled = false         # Enable automatic TLS via Let's Encrypt

Environment variables

Configuration values can be overridden with environment variables:

VariableDescription
DISCLOSURE_DATA_DIRBase directory for all application data
DISCLOSURE_DOMAINOverride the server domain
DISCLOSURE_PORTOverride the listen port

CLI commands

disclosure serve

Start the HTTP server.

./disclosure serve
./disclosure serve --config /etc/disclosure/production.toml

disclosure create-account

Create a new user account.

./disclosure create-account --username alice --password secret --role researcher
./disclosure create-account --username bob --password secret --role vendor
./disclosure create-account --username carol --password secret --role both

disclosure migrate

Run database migrations.

./disclosure migrate

Data directory

If no database path is specified, Disclosure stores its data in ~/.disclosure/. The directory structure is:

~/.disclosure/
├── disclosure.db      # SQLite database
└── disclosure.toml    # Configuration file (optional)

Federation

To enable federation with other Disclosure instances:

  1. Set server.domain to your public domain (e.g. disclosure.example.com)
  2. Enable TLS (recommended) — either through tls.enabled = true or a reverse proxy
  3. Ensure port 443 is accessible from the internet

Other instances can discover your users via WebFinger at /.well-known/webfinger and send activities to your inbox at /actors/{username}/inbox.