Scope: ObsidianIRC web client (custom build from upstream submodule).
Modern IRC web client with ATL-specific configuration baked in.
- Upstream: ObsidianIRC (git submodule at
upstream/) - Build: Custom Containerfile with VITE build args
- Config:
VITE_HIDE_SERVER_LIST=truehides multi-server UI; defaults to ATL IRC - Port: 8090 (configurable via
OBSIDIANIRC_PORT)
apps/obsidianirc/
├── Containerfile # Custom build with ATL defaults
├── justfile # shell, logs, rebuild, rebuild-clean
└── upstream/ # Git submodule (ObsidianIRC source)
| Command | Purpose |
|---|---|
just obsidianirc shell |
Open shell in container |
just obsidianirc logs |
Follow container logs |
just obsidianirc rebuild |
Rebuild image |
just obsidianirc rebuild-clean |
Rebuild without cache |
Set in .env / .env.dev:
OBSIDIANIRC_PORT— Host port (default: 8090)OBSIDIANIRC_IRC_WS_URL— WebSocket URL (default:wss://irc.atl.chat/ws)OBSIDIANIRC_AUTOJOIN— Comma-separated channels (default:#general)
Baked into the image at build time:
VITE_DEFAULT_IRC_SERVER— WebSocket URLVITE_DEFAULT_IRC_SERVER_NAME— "ATL IRC"VITE_DEFAULT_IRC_CHANNELS— Auto-join channelsVITE_HIDE_SERVER_LIST— "true" (hides Discover page)
Defined in infra/compose/obsidianirc.yaml. Depends on atl-irc-server (UnrealIRCd).
In dev, the WebSocket uses wss://127.0.0.1:8000 with a self-signed cert. Firefox blocks WebSocket connections to untrusted certs without prompting. Add an exception first: visit https://127.0.0.1:8000/ → Advanced → Accept the Risk and Continue. Then ObsidianIRC will connect.
- infra/compose/obsidianirc.yaml
- upstream/README.md — ObsidianIRC upstream docs
- Root AGENTS.md