====== IRC Configuration ====== Configuration files for the folk.zone IRC service. ===== Docker Compose ===== ```yaml folkzone-irc-ergo: image: ghcr.io/ergochat/ergo:stable container_name: folkzone-irc-ergo restart: unless-stopped networks: [folkzone_net] ports: - "6667:6667" - "6697:6697" volumes: - folkzone_irc_ergo_data:/ircd environment: TZ: America/Edmonton folkzone-irc-lounge: image: ghcr.io/thelounge/thelounge:latest container_name: folkzone-irc-lounge restart: unless-stopped networks: [folkzone_net] depends_on: folkzone-irc-ergo: condition: service_started environment: TZ: America/Edmonton volumes: - folkzone_irc_lounge_data:/thelounge - ./irc/config.js:/var/opt/thelounge/config.js:ro ``` ===== The Lounge Config ===== File: irc/config.js ```javascript module.exports = { public: true, defaults: { name: "folk.zone IRC", host: "folkzone-irc-ergo", port: 6667, tls: false, rejectUnauthorized: false, nick: "", username: "", password: "", realname: "", join: "#general", encoding: "utf-8", }, maxHistory: 1000, prefetch: true, prefetchStorage: true, webirc: { host: "irc.folk.zone", password: "", }, }; ``` ===== Caddy Configuration ===== ```caddyfile irc.folk.zone { reverse_proxy folkzone-irc-lounge:9000 { header_up Host {host} header_up X-Real-IP {remote} header_up X-Forwarded-For {remote} header_up X-Forwarded-Proto {scheme} } header { X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN X-XSS-Protection "1; mode=block" Referrer-Policy strict-origin-when-cross-origin } } irc-direct.folk.zone { respond * "Use your IRC client to connect to irc-direct.folk.zone:6697 (TLS required)" 200 } ``` ===== Ergo Config ===== Ergo generates its own default config on first startup. See [[folkzone:services:irc:setup|Setup Process]] for how to customize it. ===== See Also ===== * [[folkzone:services:irc|IRC]] - Return to IRC overview * [[folkzone:services:irc:setup|Setup Process]] - Initial setup and customization Last updated: 2026-06-20 * [[folkzone:services:start|Return to folkzone:services]]