The all-in-one open source Discord bot for Linux communities
Choose your path to get started with Tux:
| Role | Get Started |
|---|---|
| 👤 Users | Get Started |
| ⚙️ Admins | Get Started |
| 🐳 Self-Hosters | Get Started |
| 💻 Developers | Get Started |
Tux is a feature-rich Discord bot originally built for the All Things Linux community. It provides moderation tools, leveling systems, snippets, utilities, and fun commands - all in one package.
Key Features:
- Moderation - Comprehensive moderation tools with case management
- Leveling - XP and ranking system to reward active members
- Snippets - Quick text responses and custom commands
- Utilities - Server management and utility commands
- Fun - Entertainment commands and interactive features
- Plugin System - Extensible architecture for custom functionality
- Modern tech stack - Type-safe, async-first, powered by Python 3.13+ and discord.py
- Production-ready - Battle-tested in large communities with comprehensive error handling
- Developer-friendly - Clean architecture, extensive docs, and active development
- Free and open source - Free to use, modify, and contribute under GPL-3.0
| Component | Technology |
|---|---|
| Runtime | Python 3.13+ with discord.py |
| Package Manager | uv for fast dependency management |
| Database | PostgreSQL with SQLModel (SQLAlchemy + Pydantic) |
| Type Safety | basedpyright with strict type hints |
| Code Quality | ruff for linting and formatting |
| Testing | pytest with async support |
| CLI | typer with custom command scripts |
| Logging | loguru for structured logging |
| Monitoring | sentry-sdk for error tracking |
| HTTP Client | httpx for async requests |
| Configuration | pydantic-settings with multi-format support |
| Containers | Docker & Docker Compose |
Visit tux.atl.dev for complete documentation including:
- User Guide - Commands, features, and usage
- Admin Guide - Configuration and server setup
- Self-Hosting - Installation and deployment
- Developer Guide - Architecture and contributing
- API Reference - CLI tools and codebase reference
- FAQ - Common questions and answers
- Discord Server - Get help, report issues, and discuss features
- GitHub Issues - Bug reports and feature requests
Want to contribute? Assuming you have the basics like Docker and a Discord bot for testing, you can get started in minutes:
# For org members: Clone directly git clone https://github.com/allthingslinux/tux.git && cd tux # For external contributors: Fork on GitHub first, then: git clone https://github.com/YOUR_USERNAME/tux.git && cd tux git remote add upstream https://github.com/allthingslinux/tux.git # Install dependencies uv sync # Install pre-commit hooks uv run pre-commit install git config blame.ignoreRevsFile .git-blame-ignore-revs # Generate and edit configuration files uv run config generate cp .env.example .env && cp config/config.toml.example config/config.toml # Setup database uv run docker up -d tux-postgres uv run db push # Develop, run, lint, and test git checkout -b feature/your-feature-name # ... make changes ... uv run tux start --debug uv run dev all git commit -m "feat(command): add new command" # ... repeat until you are ready ... git push origin feature/your-feature-nameDeveloper Resources:
| Getting Started | Development Workflow | Quality & Standards |
|---|---|---|
| Developer Setup | Git Best Practices | Testing Guide |
| First Contribution | Branch Naming | Code Review |
| Project Structure | Creating Commands | Error Handling |
Tux is free and open source software licensed under the GNU General Public License v3.0.
Founded by @kzndotsh • Maintained by the All Things Linux community
