Platform Overview
Modrinth consists of several integrated components that work together to provide a complete content management experience:Web Interface
A responsive, server-rendered website built with Nuxt 3 and Vue for browsing, searching, and managing projects from any device.
Desktop App
A cross-platform launcher built with Tauri and Rust that provides instance management, automatic dependency resolution, and one-click mod installation.
Labrinth API
A high-performance REST API written in Rust that powers search, project metadata, version management, and user authentication.
Server Hosting
Integrated Minecraft server hosting with WebSocket-based management, automatic backups, and modpack deployment.
Key Features
For Players
One-Click Installation
The Modrinth App automatically handles mod downloads, dependency resolution, and version compatibility. No manual file management required.
Instance Management
Create and manage multiple Minecraft instances with different mod loaders (Fabric, Forge, Quilt, NeoForge), game versions, and mod configurations.
Automatic Updates
Stay up-to-date with the latest versions of your favorite mods. The app notifies you of available updates and handles the installation process.
For Content Creators
Project Hosting
Host mods, modpacks, resource packs, data packs, shaders, and plugins with unlimited file storage and bandwidth.
Team Collaboration
Manage projects with your team using granular permissions and role-based access control.
Analytics Dashboard
Track downloads, views, and user engagement with detailed analytics powered by ClickHouse.
Monetization Tools
Earn revenue from your content through the built-in creator monetization program.
For Developers
All Modrinth platform code is open source and available in the GitHub monorepo.
- Project search with advanced filtering
- Version metadata and file downloads
- User profiles and authentication
- Team management
- Analytics data
Technology Stack
Modrinth is built with modern, performant technologies:Frontend
- Web Interface: Nuxt 3 (Vue 3) with server-side rendering, Tailwind CSS v3
- Desktop App: Tauri 2.0 with Vue 3 frontend
- State Management: TanStack Query v5 for server state, Pinia for client state
- Shared Components: Monorepo architecture with shared
@modrinth/uicomponent library
Backend
- API Server: Rust with Actix Web
- Database: PostgreSQL for relational data, ClickHouse for analytics
- Storage: S3-compatible object storage for project files
- Search: Custom search implementation with relevance ranking
Development
- Monorepo: Turborepo + pnpm workspaces
- Type Safety: TypeScript for frontend, Rust for backend
- Testing: Vitest for unit tests, cargo-nextest for Rust tests
Who is Modrinth For?
Players
If you want to:- Discover and install mods with minimal friction
- Manage multiple Minecraft instances with different mod configurations
- Keep your mods automatically updated
- Play on modded servers with automatic client-side mod installation
Content Creators
If you:- Develop mods, modpacks, resource packs, or other Minecraft content
- Want to reach a large, engaged audience
- Need team collaboration tools and analytics
- Are interested in monetizing your content
Developers
If you’re building:- Custom launchers or mod managers
- Integration tools for CI/CD pipelines
- Analytics or discovery platforms
- Server management tools
Server Hosts
If you want to:- Deploy modpacks to multiplayer servers
- Manage server instances with WebSocket APIs
- Automate backups and updates
- Provide players with automatic client configuration
Architecture Highlights
Instance Management
Instance Management
The Modrinth App uses a profile-based architecture where each instance is a self-contained environment with its own:
- Game version (e.g., 1.20.1, 1.21)
- Mod loader (Vanilla, Fabric, Forge, Quilt, NeoForge)
- Installed mods and their dependencies
- Java runtime environment
- Configuration files and resource packs
Dependency Resolution
Dependency Resolution
When installing a mod, the Modrinth App automatically:
- Checks for required dependencies in the mod’s metadata
- Resolves version compatibility with the current instance
- Downloads and installs all dependencies recursively
- Validates that no conflicting mods are present
- Handles optional dependencies based on user preference
app-lib Rust package with install_minecraft() and version resolution logic.Cross-Platform Compatibility
Cross-Platform Compatibility
The desktop app uses Tauri, which bundles a Rust backend with a web-based frontend:
- Windows/macOS/Linux: Native builds with platform-specific optimizations
- ARM64 Support: Native Apple Silicon and ARM Linux builds
- Java Management: Automatic JRE detection and installation for different architectures
- Path Handling: Cross-platform path utilities in the
path-utilpackage
API Architecture
API Architecture
The Labrinth API is versioned (v2 and v3) with:
- RESTful Endpoints: Standard HTTP methods for CRUD operations
- Pagination: Offset-based pagination for large result sets
- Search: Advanced search with faceted filtering and relevance scoring
- Rate Limiting: Per-IP and per-user rate limits to ensure fair usage
- Authentication: OAuth 2.0 with support for GitHub, Discord, and other providers
Open Source
Modrinth is committed to transparency and community collaboration. The entire platform is open source:- Source Code: github.com/modrinth/code
- License: Individual packages are licensed separately (see LICENSE files)
- Contributing: Contributing Guide
- Community: Discord Server
Contributions are welcome! Whether you’re fixing bugs, adding features, improving documentation, or translating to new languages, check out the contributing guidelines.
Getting Started
Ready to dive in? Choose your path:Quick Start
Get up and running with Modrinth in minutes. Create an account, install the app, and add your first mod.
API Documentation
Explore the Labrinth REST API and start building integrations.
Desktop App
Learn about the Modrinth App’s features and advanced configuration options.
Contributing
Help build the future of Modrinth by contributing to the open-source project.
