Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Excurs1ons/MonoRelay/llms.txt

Use this file to discover all available pages before exploring further.

MonoRelay can back up your config.yml to a private GitHub Gist or any WebDAV-compatible storage. This lets you preserve your provider and routing configuration, recover from accidental changes, and synchronize settings across multiple MonoRelay instances. Push and pull operations are available from the Config Sync page in the admin dashboard.
config.yml contains your upstream API keys. GitHub Gist sync automatically filters out secrets such as access_key, jwt_secret, OAuth client secrets, and gist_token before uploading. However, your downstream provider API keys (listed under providers) are included in the backup. Always use a private Gist and protect your personal access token accordingly.

GitHub Gist sync

Gist sync stores your configuration as a private GitHub Gist. The file is named config.yml inside the Gist, and a stats.json snapshot can optionally be included.

Setting up Gist sync

1

Create a GitHub personal access token

Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) and generate a new token. Enable the Gist scope. Copy the token — it will only be shown once.
2

Open the Config Sync page

In the MonoRelay admin dashboard, click Config Sync in the sidebar.
3

Enter your token

Paste your personal access token into the Token field. Click Verify token to confirm it is valid. MonoRelay stores the token securely in its local secrets database — it is not written to config.yml.
4

Set or find your Gist ID

If you have an existing MonoRelay Gist, enter its ID in the Gist ID field or click Find Gist to search for one automatically. Leave the field empty to create a new Gist on the first push.
5

Push your configuration

Click Push to upload the current config.yml to the Gist. The Gist ID is saved automatically after the first push so future operations reuse the same Gist.

Push and pull

  • Push — Uploads the current config.yml (with secrets filtered out) to the configured Gist. If no Gist ID is set, a new private Gist is created and the ID is stored for future use.
  • Pull — Downloads config.yml from the Gist and overwrites the local file. MonoRelay hot-reloads the configuration automatically after a successful pull.
The sync page displays the Gist creation date, last sync time, and current version hash so you can confirm the remote state before pulling. You can optionally configure the gist_id directly in config.yml:
config.yml
sync:
  gist_id: "your-gist-id-here"

WebDAV sync

WebDAV sync uploads config.yml to any WebDAV-compatible server, including Nextcloud, ownCloud, or a self-hosted WebDAV endpoint.

Setting up WebDAV sync

1

Configure WebDAV credentials in config.yml

Add a webdav block under your sync configuration with the server URL and credentials:
config.yml
sync:
  webdav_url: "https://your-webdav-server.com/remote.php/dav/files/username/"
  webdav_username: "your-username"
  webdav_password: "your-password"
2

Open the Config Sync page

In the MonoRelay admin dashboard, click Config Sync in the sidebar. WebDAV operations are available alongside the Gist controls.
3

Push or pull

Click Push to upload config.yml to the WebDAV path, or Pull to download and restore it. MonoRelay uses HTTP PUT for uploads and GET for downloads, with optional Basic Auth using the configured credentials.

WebDAV credentials reference

Config keyDescription
webdav_urlFull URL to the WebDAV directory or file path
webdav_usernameUsername for Basic Auth (omit if the server is unauthenticated)
webdav_passwordPassword for Basic Auth
WebDAV sync does not filter secrets from config.yml before uploading. Ensure your WebDAV server is access-controlled and uses HTTPS to protect the contents of the backup.

Build docs developers (and LLMs) love