⚑ 43 developer tools, always updated β€” new upstream releases land in apt within hours. Join the Discord

πŸ“… From , the apt mirror will require a subscription. See pricing Β· πŸ†“ There is an always-free mirror

βš’οΈ Install Latest Forgejo on Ubuntu

Self-hosted lightweight software forge β€” Beyond coding. We forge.

Latest version: 15.0.2 Β· updated 2026-07-08
SourceVersion
deb.griffo.io15.0.2 βœ…
Official Ubuntu🚫 not packaged
← Back to home

What is Forgejo?

Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job. Forgejo is a community-driven fork of Gitea focused on security, privacy, and democratic governance β€” giving you a self-hosted alternative to GitHub or GitLab that you fully control.

πŸš€ Why Latest Versions Matter: Forgejo receives regular updates with security patches, new features, and performance improvements. The latest releases include Forgejo Actions (GitHub Actions-compatible CI/CD), improved package registry support, and enhanced federation capabilities.

⚑ Key Features of Forgejo

πŸ“¦ Git Repository Hosting

Host unlimited public and private git repositories. Full support for Git LFS, large file storage, and repository mirroring from GitHub, GitLab, and more.

πŸ”„ Pull Requests & Code Review

Built-in pull request workflow with inline code review, review assignments, required reviewers, and merge strategies including squash and rebase.

πŸ› Issue Tracking

Full-featured issue tracker with labels, milestones, projects board, custom fields, and cross-repository references.

βš™οΈ Forgejo Actions

Built-in CI/CD engine compatible with GitHub Actions workflows. Use existing GitHub Actions marketplace actions on your self-hosted runner.

πŸ“š Package Registry

Host your own packages: npm, PyPI, Maven, Docker/OCI images, Debian/RPM packages, Helm charts, and more β€” all in one place.

πŸ” Security & Access Control

Fine-grained permissions, two-factor authentication, OAuth2 provider, LDAP/SAML integration, SSH and HTTPS access, branch protection rules.

πŸ† Why Forgejo?

  • Self-hosted: Your data stays on your servers, under your control
  • Lightweight: Runs on a Raspberry Pi or a $5/month VPS
  • Gitea compatible: Drop-in replacement with full API compatibility
  • Community-driven: Democratic governance, no corporate lock-in
  • GitHub Actions compatible: Reuse existing workflows and marketplace actions
πŸš€ Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships β€” this repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

πŸ“¦ Installation from deb.griffo.io

Run the commands

Step 1: Add Repository

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

πŸ†“ There is an always-free mirror. deb-free.griffo.io serves packages free forever β€” no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries Ghostty, Oh My Posh and Zed; Forgejo is not one of them, so the repository above is the only way to get it today β€” ask and it can be enrolled.

How the free mirror works β†’

Step 2: Install Forgejo

# Install latest Forgejo (also installs git and git-lfs)
sudo apt install forgejo

# Verify installation
forgejo --version
# Install latest Forgejo (also installs git and git-lfs)
apt install forgejo

# Verify installation
forgejo --version
πŸ“‹ Post-install setup required: Forgejo is a web server β€” after installation you need to start it and complete the initial configuration through the web interface. See the setup steps below.

πŸš€ Initial Setup

The package automatically creates the git system user, the /var/lib/forgejo data directory, and the /etc/forgejo config directory. Complete the setup with:

# Start the Forgejo service
sudo systemctl start forgejo

# Open http://localhost:3000 in your browser to complete initial configuration
# (configure database, admin account, domain, etc.)

# After the web setup is complete, enable Forgejo on boot:
sudo systemctl enable forgejo

# Check service status
sudo systemctl status forgejo
# Start the Forgejo service
systemctl start forgejo

# Open http://localhost:3000 in your browser to complete initial configuration
# (configure database, admin account, domain, etc.)

# After the web setup is complete, enable Forgejo on boot:
systemctl enable forgejo

# Check service status
systemctl status forgejo

πŸ›‘οΈ Post-Configuration Security Hardening

After completing the web-based setup, make the config file read-only for added security:

# Lock down the config directory and app.ini after initial configuration
sudo systemctl stop forgejo
sudo chmod 750 /etc/forgejo
sudo chmod 640 /etc/forgejo/app.ini
sudo systemctl start forgejo
# Lock down the config directory and app.ini after initial configuration
systemctl stop forgejo
chmod 750 /etc/forgejo
chmod 640 /etc/forgejo/app.ini
systemctl start forgejo

πŸ”§ Command-Line Administration

Forgejo provides a CLI for administration tasks. Run commands as the git user:

# List all users
sudo -u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user list

# Create admin user
sudo -u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user create \
  --username admin --password changeme --email admin@example.com --admin

# Regenerate Git hooks (useful after upgrades)
sudo -u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin regenerate hooks
# List all users
-u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user list

# Create admin user
-u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user create \
  --username admin --password changeme --email admin@example.com --admin

# Regenerate Git hooks (useful after upgrades)
-u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin regenerate hooks

πŸš€ Why Choose deb.griffo.io?

πŸ“Š Repository Comparison:
  • Official Ubuntu: No Forgejo package available in official repos
  • Manual install: Requires downloading and placing binary manually
  • deb.griffo.io: Latest version with proper packaging, postinst setup, and apt update support

πŸ“¦ Package Build Repository

The Ubuntu packages are automatically built and maintained in this GitHub repository:

πŸ”— Related Packages

Also available from deb.griffo.io:

🎯 Perfect for: Developers and teams who want full control over their source code, organizations with data privacy requirements, homelab enthusiasts, anyone looking for a self-hosted GitHub/GitLab alternative that's lightweight enough to run on minimal hardware.

πŸ’ Support This Project

If this repository saves you time and effort, please consider supporting it!

⭐ Star on GitHub 🐦 Share on Twitter

Just after the command? See apt install forgejo β€” one page covering Debian and Ubuntu.

πŸ“¦ Recent releases from this repository

❓ Frequently asked questions

Is Forgejo in the official Ubuntu repositories?

No β€” Forgejo is not packaged in the official Ubuntu archives. This repository is currently the only apt source, serving Forgejo 15.0.2.

How do I install the latest Forgejo on Ubuntu?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install forgejo. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Ubuntu releases are supported?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing and 26.04 Resolute.