Skip to content

IrregularChat Services

The IrregularChat community runs a suite of self-hosted and cloud-deployed services. All services use Authentik SSO for single sign-on authentication.



The Signal bot is the hub — nearly every service has a bidirectional API connection to it. Members can interact with any service from Signal without opening a browser.

graph LR
    SB[Signal Bot] <--> CP[Community Portal]
    SB <--> ES[Event Service]
    SB <--> CB[Career Board]
    SB <--> TX[Task Exchange]
    SB <--> TC[TeamCO]
    SB <--> FN[Field Notes]
    SB <--> QA[Q&A Form]
    SB <--> RS[RSS Reader]
    SB <--> SS[Search Service]
    SB <--> SC[Scoreboard]
    TC <--> TAK[TAK Service]
    ES --> TC
    ES --> TX
    FN --> TX
    QA --> TX
    QA --> SS
    CP --> ES
    CP --> SS
    CB --> ES
    SS --> SX[SearXNG]
    CB --> SC
    TX --> SC
    QA --> SC
    ES --> SC
    FN --> SC

Key integration patterns:

  • Signal Bot ↔ All Services — Every service has BOT_API_URL configured for bi-directional communication
  • All Services → Scoreboard — Career Board, Task Exchange, QA Form, Event Service, Field Notes, and Signal Bot send point awards via fire-and-forget API calls
  • TeamCO ↔ TAK Service — Bidirectional location bridge (markers, check-ins, geofences, blockers)
  • Event Service → TeamCO + Task Exchange — Events generate workspace links and logistics tasks
  • Search Service → SearXNG — Privacy-respecting web results via self-hosted metasearch
  • QA Form → Search + Task Exchange — Questions searchable, unanswered ones become tasks

All Cloudflare Workers share a common stack:

  • Auth: Authentik SSO via OIDC PKCE (shared @irregularchat/shared-utils library)
  • Framework: Hono with SSR HTML templates
  • Database: Cloudflare D1 (SQLite at edge)
  • Caching/Sessions: Cloudflare KV
  • Object Storage: Cloudflare R2 (where needed)
  • Deployment: Wrangler CLI via deploy.sh from monorepo root

Self-hosted services run on a Proxmox VPS, accessed externally via Cloudflare Tunnel.


All services live in the IrregularChat Monorepo:

irregularchat-monorepo/apps/
├── career-board/ # jobs.irregulars.io
├── community-portal/ # irregulars.io
├── developer-portal/ # developer.irregulars.io
├── event-service/ # event.irregulars.io
├── fieldnotes/ # fieldnotes.irregulars.io
├── qa-form/ # qa.irregulars.io
├── rss-reader/ # rss.irregulars.io
├── scoreboard/ # score.irregulars.io
├── search-service/ # search.irregulars.io
├── signal-bot/ # Signal moderation bot
├── simplex-bot/ # SimpleX chat bot
├── tak-service/ # tak.irregulars.io
├── task-exchange/ # task.irregulars.io
├── teamco/ # team.irregulars.io
└── wiki/ # irregularpedia.org

Irregularpedia (you are here) is the community-facing wiki — guides, walkthroughs, and how-to-use-the-services content for members.

For operator and developer documentation — service configuration, deployment runbooks, database schemas, environment variables, troubleshooting, internal architecture — see the GitLab project wiki. Both wikis live in the same monorepo but serve different audiences.

Irregularpedia (this site)GitLab Project Wiki
AudienceCommunity members, end-usersOperators, contributors, fork maintainers
ToneGuides, learning, “how do I…”Reference, runbooks, “what are the env vars for X”
Sourceapps/wiki/src/content/docs/irregularchat-monorepo.wiki.git (separate git repo)
Deploys toirregularpedia.orgGitLab UI only — no public site
Edit flowMarkdown PR via GitLab MR or in-browserPush to wiki git repo or edit in GitLab UI

The GitLab wiki currently has full coverage for the Signal Bot (42 pages — commands, integrations, deployment, troubleshooting). Coverage for the other apps is being built out — see the GitLab wiki home for the latest index.