Welcome to the atl.chat ecosystem! This monorepo houses the full stack for the allthingslinux chat platform, integrating modern web technologies with established chat protocols like XMPP and IRC.
The project is managed as a pnpm workspace using Turborepo for orchestration.
| Path | Application | Description | Tech Stack |
|---|---|---|---|
apps/web |
Landing Page | The main landing page for atl.chat. |
Next.js 14, React, Tailwind |
apps/xmpp |
XMPP Server | Prosody-based XMPP server with custom modules. | Prosody (Lua), Docker, PostgreSQL |
apps/irc |
IRC Server | UnrealIRCd server with Atheme services. | UnrealIRCd (C), Atheme, Docker |
- Node.js (LTS recommended)
- pnpm (v9.x or later)
- Docker & Docker Compose (for XMPP and IRC services)
Install dependencies for all workspaces:
pnpm installYou can start the entire ecosystem in specific modes using Turborepo.
Start all applications (Unified):
The project includes a root docker-compose.yml that orchestrates both XMPP and IRC stacks.
docker compose up -dStart specific applications (Development):
pnpm run devRun specific applications:
# Web Application (Next.js)
pnpm --filter web dev
# XMPP Server (Docker)
pnpm --filter xmpp dev
# IRC Server (Docker)
pnpm --filter irc devTo build all applications for production:
pnpm run buildThe landing page for atl.chat. It serves as the main entry point for the project.
- Port:
3000(default)
A robust XMPP server powered by Prosody. It supports modern extensions (XEPs) and integrates with the web platform.
- Ports:
5222(c2s),5269(s2s),5280(http) - Commands: Wraps
makecommands viapackage.json(e.g.,npm run test->make test).
A classic IRC server powered by UnrealIRCd with Atheme services for channel management.
- Ports:
6697(TLS),6900(Linking) - Services: NickServ, ChanServ, OperServ
- Clone the repository.
- Install dependencies:
pnpm install - Create a branch:
git checkout -b feature/my-feature - Commit changes (conforming to conventional commits).
- Push and open a Pull Request.
MIT License. See individual directories for specific licensing details if applicable.