Once you have a compiledDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/MercuryWorkshop/epoxy-tls/llms.txt
Use this file to discover all available pages before exploring further.
epoxy-server binary (see Building), getting the server running takes only a few steps: generate a default configuration file, edit it to suit your environment, and launch the binary. epoxy-server reads its runtime configuration from a single TOML, JSON, or YAML file. The log level can also be overridden at runtime with the standard RUST_LOG environment variable (e.g. RUST_LOG=debug epoxy-server config.toml).
Quick start
Generate the default configuration
Print the built-in defaults to a file so you have a starting point:The file is written in TOML by default. To generate JSON instead, pass YAML output is also supported if epoxy-server was compiled with the
--format before --default-config:yaml feature:Edit the configuration file
Open
config.toml in your editor and adjust it for your deployment. The most common settings to change are:server.bind— the address and socket type to listen on (default:["tcp", "127.0.0.1:4000"])server.tls_keypair— paths to your PEM certificate and key if you want epoxy-server to terminate TLS directlywisp.wisp_v2— enable or disable Wisp version 2 extensionswisp.auth_extension— set to"password"or"certificate"to require client authenticationstream.allow_hosts/stream.block_hosts— regex lists controlling which destinations clients may reach
CLI reference
| Argument | Short | Description |
|---|---|---|
<config> | — | Path to the configuration file (TOML by default). If omitted, built-in defaults are used. |
--format <fmt> | -f | Config file format: json (always available), toml (requires the toml feature, enabled by default), or yaml (requires the yaml feature). When the toml feature is compiled in, toml is the default format. Must precede the config path if used together. |
--default-config | — | Print the default configuration in the selected format and exit immediately. |
Running as a systemd service
For long-running deployments, manage epoxy-server with systemd. Create a unit file at/etc/systemd/system/epoxy-server.service:
SIGUSR1:
By default epoxy-server binds to
127.0.0.1:4000 and serves plain WebSocket connections without TLS. If you expose it to the internet you should either place a TLS-terminating reverse proxy (such as Nginx or Caddy) in front of it, or configure a TLS listener directly in the config by setting server.bind to ["tlstcp", "0.0.0.0:443"] and providing server.tls_keypair with paths to your PEM certificate and private key.