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.
Deployment Variants
Forgejo is available in four deployment configurations in Coolify:
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
SSH Access
Git over SSH uses a port on the server, because the proxy routes only HTTP and HTTPS by domain. The default port is 22222, and Forgejo shows it in the SSH clone URL.
To run more than one Forgejo instance on the same server, set the FORGEJO_SSH_PORT environment variable to a free port for each instance, then redeploy. Cloning over HTTPS always works through the domain.
Forgejo Actions Runner
Forgejo has available a first party "actions runner" to execute task jobs on a repository, much like GitHub Actions or GitLab CI.
Coolify includes Forgejo services with a single runner, using Docker-in-Docker to run the jobs. They are available with SQLite, PostgreSQL, MySQL, and MariaDB, like the variants above.
The runner is ready after the deployment. No manual setup is necessary:
- Coolify generates the shared secret (
SERVICE_HEX_64_RUNNER) that the runner uses to register. - The Forgejo installation is completed for you. Log in with the administrator credentials from the
SERVICE_USER_ADMINandSERVICE_PASSWORD_ADMINenvironment variables. SetFORGEJO_ADMIN_EMAILto change the administrator email before the first deployment. - Jobs can use the labels
docker(Node.js 22),ubuntu-latest, andubuntu-22.04. A job can also use Docker commands, for example to build images.
Forgejo is also compatible with third-party CI apps and platforms. Forgejo is a Gitea-fork, so instructions to incorporate these CI may be the same for both.
