Settings¶
Relay includes a full in-app Settings area for both end users and instance admins. This page focuses on what each Settings section does. For the Relay-specific feature list itself, see Relay Features.
Use the Search settings field at the top of the Settings window to search across available controls and jump directly to a matching setting. Results are grouped by section and open the relevant control when selected.
Settings sections at a glance¶
| Section | What it controls | Notes |
|---|---|---|
| General | App integration and settings synchronization | Available to signed-in users |
| Chat | Messages, previews, composer behavior, code blocks, and message bubbles | User preference section |
| Interface | Visual aids, sidebar organization, and image viewer behavior | User preference section |
| Themes | Built-in themes, theme import/export, custom CSS | Relay extends upstream theme handling |
| Aliases | Custom IRC command shortcuts | Relay-specific feature |
| Uploads | Per-user upload cleanup and metadata removal | Only useful on authenticated instances with uploads enabled |
| Experimental DCC files | Received DCC files, expiry information, and deletion | Private authenticated instances when enabled by an admin |
| Short Links | Per-user short link review, sorting, and deletion | Available when the link shortener is enabled on non-public instances |
| Security & sessions | Password, passkeys, active sessions, and account security | Private authenticated instances only |
| Notifications | Push, browser, and in-window notification behavior, alert duration, reply/reaction alerts, highlight keywords | Per-user notification preferences |
| Profile | Profile metadata, avatar, and call identity | Profile support depends on instance and integration settings |
| Stats | Personal activity totals, message graphs, and storage usage | Relay-specific visibility into usage |
| Administration | Server, Storage, Media & files, Authentication, Integrations, Branding, Users, and Operations | Admin accounts only |
General¶
The General section covers client behavior that does not fit elsewhere:
- Add Relay to the home screen as a native-style web app on supported browsers.
- Register Relay to open
irc://links directly from the browser. - Synchronize settings between clients when settings sync is enabled.
Chat¶
The Chat section controls how chat content is presented:
- Show or hide the server MOTD.
- Switch between 12-hour and 24-hour-style timestamp behavior, with an option to include seconds.
- Control link preview expansion for media and websites.
- Show inline video embeds when the instance administrator enables them, independently of other link previews.
- Show messages in optional theme-aware speech bubbles with sender-aware grouping, reaction placement, and reply context. Enable bubbles on all devices or limit them to mobile-sized screens (768 pixels wide or smaller).
- Choose how status messages are shown: expanded, condensed, or hidden.
- Use the text styling toolbar to preview and apply IRC-compatible formatting and colors while composing messages.
- Enable syntax highlighting for labeled fenced code blocks and choose a Prism theme for supported languages.
- Enable autocomplete for nicknames, channels, and commands, and choose what Relay adds after an autocompleted nickname.
- Toggle typing indicators and whether your typing state is sent to others.
- Configure an automatic away message when the instance is private.
Relay's autocomplete covers nicknames, channels, and commands directly from the chat input. Typing / opens command suggestions with usage and descriptions, including commands that are unavailable in the current context. Press Tab to complete the current match, press it again to cycle forward through suggestions, or use Shift+Tab to cycle backward.
Interface¶
The Interface section controls visual aids and sidebar organization:
- Enable colored nicknames and online status indicators for private queries.
- Hide favorite channels when networks are collapsed while keeping them visible when networks are expanded.
- Enable nested sub-channels in the sidebar. Choose whether
:and-separators define parent and child channel relationships, and whether child entries use short or full channel names. - Choose whether the image viewer inverts the mouse-wheel zoom direction.
Themes¶
The Themes section lets users personalize Relay's look and feel:
- Open the searchable theme selector to browse Relay's large collection of built-in themes by category, filter by name or category, preview candidates, and apply a selection.
- Export the active theme as a CSS file.
- Import a CSS file as a new selectable theme.
- Add custom CSS overrides directly in the browser.
This is one of Relay's most visible customization features, especially for communities that want custom branding without rebuilding the client.
Aliases¶
The Aliases section manages custom IRC command shortcuts.
- Create short commands such as
/shrugor/jthat expand into longer IRC commands. - Use positional variables like
$1and$2,$*for all arguments, and$channelfor the current channel name. - Edit or delete aliases from the same screen.
Relay also supports alias expansion in chat input and command autocomplete.
Uploads¶
The Uploads section is the user-facing side of Relay's file handling:
- Remove image metadata on-device before uploading when desired. Relay also sanitizes supported images on the server before storing or forwarding them.
- Review previously uploaded files.
- Sort uploads and delete individual items.
Upload expiration is now controlled by the instance admin as a server-wide setting rather than as a per-user preference. If the admin disables uploads or the instance is running in public mode with upload restrictions, some options may be limited.
In the standalone desktop client, the Uploads section also lets you choose between Relay storage and Catbox. Catbox returns a public shareable link, and Catbox-hosted files do not appear in Relay's upload manager; use the links in chat to access them. The browser client and mobile PWA continue using Relay's built-in upload storage.
Experimental DCC files¶
The Experimental DCC files section lists files received through Relay's experimental DCC support. Incoming offers require explicit approval before Relay downloads them. Received files are private to your account, show their expiration time, and can be deleted from this section.
Short Links¶
The Short Links section lets users manage links created by Relay's built-in link shortener:
- Review the short links you have created.
- Sort links by short code, creation time, or expiration time.
- Open the short link directly to verify the redirect target.
- Delete links you no longer want to keep around.
This section is available when the short-link feature is enabled and the instance is not running in public mode.
Security & sessions¶
The Security & sessions section provides account security management:
- Change your password.
- Review current and other signed-in sessions and revoke sessions you no longer use.
- View registered hardware keys and passkeys.
- Add a new key with a friendly display name.
- Remove keys you no longer use.
This is Relay's WebAuthn/FIDO2 integration and works well with security keys, platform passkeys, and biometrics such as fingerprint-backed sign-in.
Notifications¶
The Notifications section controls how Relay gets your attention:
- Subscribe to push notifications.
- Enable browser notifications and notification sound.
- Enable in-window notifications in the active Relay client. Choose a device-local duration from 1 to 3600 seconds (5 seconds by default). Click an alert to jump to its channel; message and reaction alerts also focus and briefly pulse the related message when it is available.
- Choose from the expanded set of bundled notification sounds and preview the selected sound.
- Upload a custom MP3, WAV, or Ogg/Opus notification sound up to 2 MB and 10 seconds when the instance is private and file uploads are enabled.
-
Choose which message types can trigger alerts.
- mentions and custom highlights
- private messages
- replies to your messages
- reactions to your messages
-
Choose whether all messages can trigger notifications when broader alerts are desired.
- Enable or disable notifications for all messages in an individual channel or conversation from its context menu.
- Define custom highlight words.
- Define highlight exceptions to reduce noise.
These settings apply to browser notifications, in-window notifications, and push notifications, subject to Relay's usual mute and freshness checks. The preview control enables audio playback in browsers and mobile WebViews; operating-system push notifications use the platform's own notification sound. When an IRC network supports IRCv3 invite-notify, Relay can also notify you when someone invites you to a channel. Typing notifications are configured in Chat, while message alerts live here.
Profile¶
The Profile section combines profile metadata with avatar and call identity settings:
- Set a user-visible display name.
- Add a homepage link to your profile.
- Choose a nickname or identity color.
- Set a custom status that is separate from Relay's online and away indicators.
- Upload, change, or remove a global persistent profile avatar when the instance enables avatars.
- Set the display name used in Jitsi voice/video calls when that integration is enabled.
On IRC servers advertising draft/metadata-2, Relay synchronizes these profile values with IRC users. On servers without that capability, Relay still saves and displays the values locally, but they are not shared over IRC. Avatar uploads use the existing upload UI and are available only when an administrator enables them on a non-public instance. The administrator also sets the maximum avatar file size. Custom status remains separate from Relay's online and away indicators.
Sign out from the prominent control in the Settings header. Security keys, password changes, and session management are available in Security & sessions.
Stats¶
The Stats section surfaces usage information that is not documented elsewhere in the current docs:
- Personal totals such as connected networks, joined channels, messages logged, and storage used.
- A graph of messages logged over the last 7 days.
- Server-wide totals such as total networks and total channels across all users.
- Storage-by-user reporting, including upload and log usage.
- A manual refresh action for on-demand recalculation.
Large instances may take a little longer to compute storage statistics because Relay scans cached usage data and user storage on demand.
Administration¶
The Administration area is Relay's server-side control panel for administrators. It is organized into Server, Storage, Media & files, Authentication, Integrations, Branding, Operations, and Users sections so related controls are easier to find.
Server¶
Admins can manage server-wide behavior without editing config files manually:
- Allow or disable self-registration.
- Enable or disable network groups in the sidebar.
- Set maximum stored channel history.
- Enable or disable the local
/relaystatscommand and customize its output template with supported placeholders such as$nick,$usernetworks,$userchannels,$messageslogged,$storagebytes,$databasebytes,$uptime,$relayversion,$os, and$go.
The /relaystats command renders its output only inside Relay and never sends it
to an IRC network. Some server-level changes require a server restart to take
effect. For deployments that must expose only a preconfigured network,
lockNetwork: true in config.yaml prevents users from changing the network's
connection and proxy settings; public mode applies the same boundary
automatically and also hides the configured transport credentials.
For settings that require a reload, Relay shows explicit Apply Changes and Cancel controls so admins can commit pending config updates or discard them directly from the web UI.
Storage¶
The Storage section controls message history:
- Choose the primary message-history backend: SQLite, PostgreSQL, or disabled.
- Enable or disable plain-text message logs separately.
- Configure the PostgreSQL connection string and connection-pool limits when PostgreSQL is selected.
- Configure optional message retention with
storagePolicyinconfig.yaml, including the maximum age and whether status messages or all messages are deleted. Runrelay storage cleanfor an immediate cleanup.
SQLite is the default message-history backend. The PostgreSQL connection string is stored server-side and is never returned to the browser. Changing the backend or PostgreSQL connection settings requires a server restart.
Media & files¶
The Media & files section controls server-side media and file behavior:
- Enable persistent user avatars and set the maximum avatar size.
- Enable link prefetch and URL previews, control inline media previews and click-to-play video embeds, and choose whether prefetched media is stored on the server.
- Set the maximum prefetch image size.
- Enable file uploads, set the maximum upload size, and set the server-wide upload expiration default.
- Enable experimental DCC file receiving and configure its listen and advertised addresses, file size, concurrent transfer, retention, minimum free-space, and download-URL settings.
Inline video embeds require link prefetching and inline media previews to remain enabled. Some media and file settings require a server restart.
Authentication¶
Relay's Authentication section includes email-backed registration and OpenID Connect single sign-on:
- Enable SMTP and use it for registration email verification.
- Enable single sign-on, then configure the OIDC issuer URL, client ID, client secret, requested scopes, and username claim path.
Users must already have a matching Relay account for OIDC sign-in to succeed. A
provider-specific username claim such as relay_username is recommended. Use
Relay's OIDC callback URL from this section as the provider redirect URI.
Integrations¶
Relay's Integrations section includes optional services and instance-wide features:
- Configure Jitsi Meet voice/video calling and its server URL.
- Enable the KLIPY GIF picker and set its server-side API key.
- Enable the internal
#partylinechannel and choose its synthetic network and channel names. - Enable the built-in link shortener, set its threshold, expiration, path prefix, and optional base URL. Users manage their own links in the Short Links section.
Partyline is off by default. When enabled, it creates a synthetic channel for local users on the same instance; its history remains tied to a stable internal network ID so earlier messages still load after a restart. The link shortener stores redirect data server-side so links can resolve without the creating user being known at redirect time.
Branding¶
Relay's Branding section can expose custom artwork:
- Choose the default theme for the instance.
- Display or hide a branding logo for authentication screens and the sidebar.
- Set primary and optional inverted logo URLs, or upload logo assets when file uploads are enabled.
If no inverted logo is provided, Relay falls back to the primary logo URL automatically.
Operations¶
The Operations section can restart the Relay server from the web UI. This disconnects clients; a process manager must restart the server.
Users¶
The Users section lets admins view users, grant or remove admin access, enable or disable per-user logging, reset passwords, and add new users.
Related pages¶
- See Relay Features for the high-level list of Relay-specific features.
- See Installation for Docker, Compose, and first-run setup.
- See Known Limitations for ZNC and soju behavior around replies and reactions.