Forgejo
Community-driven Git forge - European alternative based in Germany
Quick Overview
| Company | Forgejo |
|---|---|
| Category | Developer Tools |
| Headquarters | Berlin, Germany |
| EU/European | Yes - Germany |
| Open Source | Yes |
| GDPR Compliant | Yes |
| Main Features | Self-hosted Git, Gitea fork, Community governance, Issue tracking, Actions |
| Pricing | Free (self-hosted) |
| Best For | Community projects seeking democratic governance |
| Replaces | GitHub, GitLab |
Detailed Review
Forgejo is a community-driven, self-hosted Git forge that emerged in December 2022 as a fork of Gitea. The project was created in response to concerns about Gitea's governance direction after the formation of a for-profit company around the project. Forgejo's founding principle is that software forge infrastructure should remain under democratic, community-controlled governance rather than corporate ownership. The project is developed and maintained under the umbrella of Codeberg e.V., a democratic nonprofit organization registered in Germany, making it a genuinely European open-source project with strong governance commitments.
The name "Forgejo" comes from the Esperanto word for "forge," reflecting the project's internationalist and community-first philosophy. Despite being a relatively young project, Forgejo has rapidly gained traction in the open-source community, particularly among developers and organizations seeking alternatives to corporate-controlled platforms like GitHub (owned by Microsoft) and GitLab. Codeberg, the largest instance running Forgejo, hosts over 300,000 repositories and continues to grow as more developers seek European-hosted, community-governed alternatives for their source code.
Core Git Hosting Features
Forgejo provides a full-featured Git hosting platform with support for repository management, branching, tagging, and all standard Git operations. The web interface offers file browsing with syntax highlighting for hundreds of programming languages, inline editing, and commit history visualization. Repositories can be organized under personal accounts or organizations, with fine-grained access controls supporting read, write, and admin permission levels. The platform supports Git LFS (Large File Storage) for managing binary assets alongside source code, and offers repository mirroring capabilities for maintaining synchronized copies of repositories hosted elsewhere.
The repository management experience is intuitive and lightweight compared to heavier platforms like GitLab. Creating a new repository takes seconds, and the interface strikes a balance between functionality and simplicity that appeals to developers who want powerful tools without unnecessary complexity. Forgejo supports wiki pages attached to repositories, providing built-in documentation capabilities without requiring external tools. Repository templates allow teams to create standardized project scaffolding, ensuring consistency across new projects.
Issue Tracking and Project Management
Forgejo includes a comprehensive issue tracking system that supports labels, milestones, assignees, and due dates. Issues can be organized using kanban-style project boards, providing a visual overview of work in progress. The issue tracker supports markdown formatting, file attachments, cross-references between issues and pull requests, and email notifications. Teams can create custom label systems for categorizing and prioritizing work, and milestones provide a way to group related issues into release cycles or sprint boundaries.
The pull request workflow supports code review with inline commenting, approval workflows, and merge conflict resolution. Pull requests can be linked to issues for automatic closing upon merge, and branch protection rules can enforce review requirements, status checks, and other policies before code can be merged into protected branches. The merge options include standard merge commits, squash merging, and rebasing, giving teams flexibility in how they manage their Git history.
Forgejo Actions: Built-in CI/CD
One of Forgejo's most significant features is Forgejo Actions, a built-in continuous integration and continuous delivery system. Actions allows developers to automate build, test, and deployment workflows directly from their repositories using YAML configuration files. The system is designed to be compatible with a large subset of GitHub Actions workflow syntax, making migration from GitHub significantly easier. Developers can reuse many existing action definitions with minimal or no modification, reducing the effort required to transition CI/CD pipelines.
Forgejo Actions runs on self-hosted runners, giving organizations full control over their CI/CD infrastructure. This means sensitive build processes, credentials, and artifacts never leave the organization's infrastructure, which is a significant advantage for security-conscious teams. The runner architecture supports multiple platforms including Linux, macOS, and Windows, and can be scaled horizontally to handle varying build loads. For organizations already invested in the GitHub Actions ecosystem, Forgejo Actions provides a compelling migration path that preserves existing workflow investments.
Federation and ForgeFed Protocol
Forgejo is at the forefront of software forge federation through its work on the ForgeFed protocol. Federation allows different Forgejo instances (and potentially other compatible forges) to interact with each other across organizational boundaries. As of 2025, the ability to federate "stars" on repositories across Forgejo installations has been implemented, representing a foundational step toward a fully federated forge ecosystem. The long-term vision includes federated pull requests, issue tracking, and user identities, enabling a decentralized development ecosystem that is not dependent on any single platform or provider.
This federated approach aligns with broader movements toward decentralized internet services, similar to how Mastodon has federated social media. For the European open-source community, federation represents a path toward true digital sovereignty where no single entity controls the infrastructure on which software collaboration happens. Forgejo's pioneering work in this space positions it as a key player in the future of open-source development infrastructure.
Self-Hosting and Lightweight Architecture
Forgejo is designed to be exceptionally easy to self-host, with minimal system requirements that allow it to run on modest hardware. The application is distributed as a single binary with no external dependencies beyond a database (SQLite, PostgreSQL, or MySQL), making installation and maintenance straightforward. A Forgejo instance can run comfortably on a VPS with as little as 512MB of RAM, making it accessible even to individual developers or small teams with limited infrastructure budgets. Docker images and Kubernetes Helm charts are also available for containerized deployments.
The lightweight architecture does not come at the cost of scalability. Forgejo can handle thousands of repositories and hundreds of concurrent users without performance degradation when properly configured. The application supports reverse proxy configurations with Nginx or Caddy, TLS termination, and standard backup strategies for the database and repository storage. For organizations running Forgejo in production, the predictable resource usage and straightforward administration make it a low-maintenance choice compared to heavier platforms.
Community Governance and Open Source
Forgejo's governance model is one of its defining characteristics. The project operates under democratic principles within the Codeberg e.V. nonprofit, where decisions are made through community consensus rather than corporate directive. Contributors have a direct voice in the project's direction through public discussions, RFC processes, and democratic voting on significant changes. This governance structure ensures that the project remains aligned with the needs and values of its community rather than the commercial interests of any single entity.
The entire Forgejo codebase is licensed under the MIT license (with some components under other permissive licenses), making it free to use, modify, and distribute without restriction. The project's development happens on Codeberg itself, dogfooding the platform in a way that ensures developers experience the same tools they are building. Regular releases follow a predictable schedule, with security patches published promptly when vulnerabilities are identified. The community maintains comprehensive documentation, including installation guides, administration manuals, and developer documentation for contributors.
GDPR Compliance and Data Sovereignty
Because Forgejo is a self-hosted application, GDPR compliance is largely determined by the organization operating the instance. However, Forgejo's architecture supports GDPR compliance by giving organizations complete control over where data is stored and processed. There is no third-party data sharing or telemetry collection by default. For organizations using Codeberg (the largest public Forgejo instance), data is stored in Germany and processed according to GDPR requirements, with Codeberg e.V. serving as the data controller under German and EU law.
The self-hosted nature of Forgejo makes it particularly attractive for organizations with strict data residency requirements. Unlike GitHub (US-based, owned by Microsoft) or even GitLab (which has US corporate structures), a self-hosted Forgejo instance ensures that source code, issues, CI/CD artifacts, and all associated metadata remain entirely within the organization's infrastructure and jurisdiction. This level of control is invaluable for organizations in regulated industries or those seeking to minimize their exposure to extraterritorial data access laws like the US CLOUD Act.
Migration from GitHub and Gitea
Forgejo provides built-in migration tools for importing repositories, issues, pull requests, and other data from GitHub, Gitea, GitLab, and other platforms. The migration process preserves issue numbers, comments, labels, and milestones where possible, minimizing disruption when transitioning. For organizations moving from Gitea specifically, the migration is seamless since Forgejo maintains strong compatibility with Gitea's data formats and APIs. The Gitea API compatibility also means that most third-party tools and integrations that work with Gitea will work with Forgejo with little or no modification.
Pricing and Accessibility
Forgejo is completely free and open source with no paid tiers, premium features, or usage limits. All features are available to all users regardless of whether they self-host or use a public instance like Codeberg. The only costs associated with running Forgejo are the infrastructure costs of self-hosting, which are minimal given the platform's lightweight resource requirements. For developers and organizations seeking a free, European, community-governed alternative to commercial Git platforms, Forgejo represents perhaps the most compelling option available today.
Alternatives to Forgejo
Looking for other European developer tools solutions? Here are some alternatives worth considering:
Frequently Asked Questions
Forgejo was forked from Gitea in December 2022 due to concerns about Gitea's governance after a for-profit company was formed around the project. While both share a common codebase, Forgejo is governed democratically under the Codeberg e.V. nonprofit, ensuring the project remains community-controlled. Forgejo has since added unique features like federation support and continues to diverge from Gitea in its development direction.
Since Forgejo is self-hosted, GDPR compliance depends on how you deploy it. However, the software itself collects no telemetry and shares no data with third parties by default, giving you full control over data storage and processing. If you use Codeberg (the largest public Forgejo instance), data is stored in Germany under full GDPR compliance.
Forgejo is completely free and open source with no paid tiers, premium features, or usage limits. All features are available to everyone. The only cost is the infrastructure for self-hosting, which is minimal since Forgejo can run on a VPS with as little as 512MB of RAM. You can also use Codeberg for free hosted access.
Yes, Forgejo provides most of GitHub's core features including Git hosting, pull requests, issue tracking, project boards, and CI/CD through Forgejo Actions (which is compatible with GitHub Actions syntax). Built-in migration tools let you import repositories, issues, and pull requests from GitHub. The main trade-off is the lack of GitHub's social network effects and marketplace ecosystem.
Forgejo Actions is a built-in CI/CD system that allows you to automate build, test, and deployment workflows using YAML configuration files. It is designed to be compatible with a large subset of GitHub Actions workflow syntax, making migration easier. Actions run on self-hosted runners, giving you full control over your CI/CD infrastructure and ensuring sensitive build processes never leave your servers.
Forgejo is designed to be exceptionally easy to self-host. It is distributed as a single binary with no external dependencies beyond a database (SQLite, PostgreSQL, or MySQL). Docker images and Kubernetes Helm charts are also available. A Forgejo instance can run comfortably on modest hardware with as little as 512MB of RAM, and the initial setup takes just a few minutes.
Forge federation allows different Forgejo instances to interact with each other across organizational boundaries, similar to how Mastodon federates social media. Forgejo is pioneering this through the ForgeFed protocol. Currently, federated repository stars are supported, with plans for federated pull requests and issue tracking. Federation enables a decentralized development ecosystem not dependent on any single platform.
Forgejo is governed democratically under the Codeberg e.V. nonprofit organization, registered in Germany. Decisions are made through community consensus, public discussions, and RFC processes. This ensures the project remains aligned with the community's needs rather than corporate interests, distinguishing it from corporate-backed alternatives.
Yes, Forgejo provides built-in migration tools for importing repositories, issues, pull requests, and other data from GitHub, GitLab, Gitea, and other platforms. The migration preserves issue numbers, comments, labels, and milestones where possible. For Gitea migrations specifically, the process is seamless due to strong compatibility between the two platforms.
Forgejo supports SQLite, PostgreSQL, and MySQL as database backends. SQLite is the simplest option for small instances and personal use, as it requires no separate database server. PostgreSQL is recommended for production deployments with multiple users, offering better performance and concurrency handling. MySQL is also fully supported for organizations that prefer it.