Documentation Index
Fetch the complete documentation index at: https://docs.allthingslinux.org/llms.txt
Use this file to discover all available pages before exploring further.
This glossary defines every project-specific term, acronym, and service name used across the atl.chat documentation, so you can look up unfamiliar concepts in one place.
Services and applications
| Term | Definition |
|---|
| UnrealIRCd | The IRC server (version 6.x) that powers atl.chat’s IRC network. Runs as a Docker container from apps/unrealircd/ and handles client connections, channel management, and server-to-server linking. |
| Atheme | The IRC services daemon that provides nickname registration (NickServ), channel management (ChanServ), operator tools (OperServ), and other service bots. Shares a network namespace with UnrealIRCd. |
| Prosody | The XMPP server that provides real-time messaging alongside IRC. Configured via Lua (prosody.cfg.lua) and runs from apps/prosody/. |
| The Lounge | A self-hosted web IRC client running in private mode. Connects to UnrealIRCd via WebIRC and provides a persistent, browser-based chat experience. Managed from apps/thelounge/. |
| ObsidianIRC | A modern web IRC client built from upstream source with ATL-specific defaults. Single-server mode with auto-join configured. Runs from apps/obsidianirc/. |
| WebPanel | The UnrealIRCd administration web panel served by nginx. Connects to UnrealIRCd’s JSON-RPC interface for server management. Runs from apps/webpanel/. |
| Bridge | A Python application (apps/bridge/) that relays messages between Discord, IRC, and XMPP using an event bus pattern. |
| Gamja | A lightweight, planned IRC web client. Directory exists at apps/gamja/ but is not yet active. |
| Portal | The community web portal application, providing user-facing features beyond chat. Referenced in environment variable sections as the PORTAL_* variable group. |
IRC service bots (Atheme)
| Term | Definition |
|---|
| NickServ | Atheme service bot that handles nickname registration, identification, and account management. |
| ChanServ | Atheme service bot that manages channel registration, access lists, and channel settings. |
| OperServ | Atheme service bot that provides IRC operator tools: akills (network bans), server management, and administrative commands. |
| MemoServ | Atheme service bot that provides offline messaging between registered users. |
| HostServ | Atheme service bot that manages virtual hostnames (vhosts) for registered users. |
| BotServ | Atheme service bot that assigns custom bot identities to channels. |
Protocols and standards
| Term | Definition |
|---|
| IRC | Internet Relay Chat — a text-based real-time messaging protocol defined by RFCs 1459 and 2812 (with modern IRCv3 extensions). The primary chat protocol used by atl.chat. |
| XMPP | Extensible Messaging and Presence Protocol — an open XML-based messaging standard. atl.chat runs an XMPP server (Prosody) alongside IRC. |
| MUC | Multi-User Chat — the XMPP extension (XEP-0045) for group chat rooms, analogous to IRC channels. |
| BOSH | Bidirectional-streams Over Synchronous HTTP — an XMPP transport that tunnels XMPP stanzas over HTTP long-polling. Prosody exposes BOSH on port 5280. |
| WebSocket | A full-duplex communication protocol over a single TCP connection. Used by UnrealIRCd (port 8000) and Prosody for browser-based clients. |
| SASL | Simple Authentication and Security Layer — a framework for authentication in network protocols. Used by both IRC (IRCv3 SASL) and XMPP for client authentication. |
| SCRAM | Salted Challenge Response Authentication Mechanism — a SASL mechanism (SCRAM-SHA-256) used by Prosody for secure password-based authentication without transmitting plaintext passwords. |
| TLS | Transport Layer Security — the cryptographic protocol that encrypts connections. All atl.chat services use TLS for client and inter-service communication. |
| STS | Strict Transport Security — an IRCv3 capability that tells clients to always use TLS when connecting to the server. |
| WebIRC | An IRC protocol extension that allows trusted web clients (like The Lounge) to forward the real IP address of connecting users to the IRC server. |
| XEP | XMPP Extension Protocol — numbered specifications that extend the core XMPP standard. Examples include XEP-0045 (MUC), XEP-0313 (MAM), and XEP-0060 (PubSub). |
| RFC | Request for Comments — standards documents published by the IETF. IRC is defined by RFCs 1459/2812; TLS by RFC 8446; XMPP by RFCs 6120/6121. |
| PubSub | Publish-Subscribe — an XMPP extension (XEP-0060) for event-driven messaging where publishers send data to topics and subscribers receive updates. |
| MAM | Message Archive Management — an XMPP extension (XEP-0313) that stores message history server-side so clients can retrieve past messages. |
| TURN/STUN | Traversal Using Relays around NAT / Session Traversal Utilities for NAT — protocols that help establish peer-to-peer connections through firewalls and NAT devices. The infra/turn-standalone/ directory contains configuration for a standalone TURN server. |
| ACME | Automatic Certificate Management Environment — the protocol used by Let’s Encrypt (and other CAs) to automate TLS certificate issuance and renewal. |
| DNS-01 | An ACME challenge type that proves domain ownership by creating a DNS TXT record. Used by the cert-manager service with Cloudflare DNS for wildcard certificates. |
IRC concepts
| Term | Definition |
|---|
| cloak | A virtual hostname applied to a user’s connection to hide their real IP address. Generated using cloak keys defined in the environment variables. |
| oper | An IRC operator — a privileged user with administrative access to the IRC server. Configured via oper blocks in UnrealIRCd’s configuration. |
| rehash | An UnrealIRCd command that reloads the server configuration without disconnecting users. Used after config changes or certificate renewal. |
| netsplit | A temporary disconnection between IRC servers in a network, causing users on each side to appear to leave channels. |
| Term | Definition |
|---|
| Docker Compose | The container orchestration tool used to define and run the entire atl.chat stack. The root compose.yaml includes fragments from infra/compose/*.yaml. |
| just | A command runner (similar to make) used throughout the project. The root justfile defines commands like just dev, just prod, and just test. Per-app recipes are loaded via mod. |
| envsubst | A GNU gettext utility that substitutes environment variable references in template files. Used by scripts/prepare-config.sh to generate service configuration files from templates. |
| cert-manager | A Docker service defined in infra/compose/cert-manager.yaml that uses Lego to obtain and renew TLS certificates via ACME. |
| Lego | A Go-based ACME client used by the cert-manager service to request TLS certificates from Let’s Encrypt. Supports DNS-01 challenges via Cloudflare. |
| Tailscale | A mesh VPN service. In production, atl.chat services bind to Tailscale IP addresses for secure inter-node communication. |
| OpenMetrics | A metrics exposition format (compatible with Prometheus) used for monitoring service health and performance. |
| Term | Definition |
|---|
| Gitleaks | A secret scanning tool configured as a pre-commit hook to prevent accidental commits of passwords, tokens, and API keys. |
| ruff | A fast Python linter and formatter used for all Python code in the monorepo (primarily the bridge application). |
| Biome | A JavaScript/TypeScript linter and formatter. Used via the ultracite wrapper for the web and docs applications. |
| luacheck | A static analysis tool for Lua code. Used to lint Prosody configuration and UnrealIRCd Lua scripts. |
| shellcheck | A static analysis tool for shell scripts. Used to lint bash scripts in scripts/ and infrastructure directories. |
| semantic-release | An automated versioning and release tool configured via .releaserc.json. Generates changelogs and version bumps from Conventional Commits. |
| Conventional Commits | A commit message convention (type(scope): description) used by the project to enable automated changelogs and semantic versioning. |
Documentation and web
| Term | Definition |
|---|
| Fumadocs | The documentation framework used by apps/docs/. Built on Next.js with file-system routing — the directory structure under content/docs/ determines the navigation hierarchy. |
| MDX | Markdown with JSX — a file format that combines Markdown content with React components. All documentation pages are .mdx files. |
| Cloudflare Pages | The hosting platform where the documentation site and web application are deployed. The docs site builds via the OpenNext adapter for Cloudflare Workers. |
| BLUF | Bottom Line Up Front — a writing principle used throughout this documentation where the key takeaway appears in the first sentence of every page. |
| Mermaid | A diagramming language rendered in MDX via the remarkMdxMermaid plugin. Used for all architecture and flow diagrams instead of ASCII art. |
Related pages