Forgejo
What is Forgejo?
Forgejo is a self-hosted lightweight software forge. It's easy to install and low maintenance — it just does the job. Forgejo is a community-maintained fork of Gitea with a focus on governance and sustainability.
Deployment Variants
Forgejo is available in four deployment configurations:
Forgejo (Default)
- Database: SQLite (embedded)
- Use case: Simple deployments, testing, or personal Git hosting
- Components: Single Forgejo container with built-in SQLite database
Forgejo with PostgreSQL
- Database: PostgreSQL
- Use case: Production deployments requiring better performance and scalability
- Components:
- Forgejo container
- PostgreSQL container
- Automatic database configuration and health checks
Forgejo with MySQL
- Database: MySQL
- Use case: Production deployments with MySQL preference
- Components:
- Forgejo container
- MySQL container
- Automatic database configuration and health checks
Forgejo with MariaDB
- Database: MariaDB
- Use case: Production deployments with MariaDB preference
- Components:
- Forgejo container
- MariaDB container
- Automatic database configuration and health checks
Forgejo Actions Runner
Forgejo includes a first-party "actions runner" to execute task jobs on a repository, similar to GitHub Actions or GitLab CI.
The deployment includes a single runner using Docker-in-Docker to handle and report task jobs.
Due to the alpha status of the Forgejo runner, rebooting the Forgejo application container after the initial setup is required to fully register the shared secret:
- In the Environment Variables section, set
RUNNER_SHARED_SECRETto a random 40-character hexadecimal string. Generate one withopenssl rand -hex 20. - After successfully setting up Forgejo, reboot the
forgejoservice and wait until the runner appears in the Forgejo Actions configuration section.