Skip to content

Forgejo

Self-hosted git and code hosting with a familiar web UI · https://git.fmm.house

What it's for

Forgejo is where the homelab's git repositories live. It's a self-hosted, GitHub/Gitea-style web app for browsing code, reading commit history, and pushing/pulling over HTTPS or SSH. This instance is code hosting only — issue tracking is turned off, so treat it as a place to store and share repos, not to file tickets.

Getting in

  • Open: https://git.fmm.house — on the home Wi-Fi/LAN, or from anywhere with Tailscale connected.
  • Sign in: Use your Forgejo username and password (top-right Sign In). Self-registration is disabled — new accounts are created by the admin, so if you need one, ask.

How to use it

Browse repos, code, and history

  • The dashboard and your profile list the repos you can see. Click one to open it.
  • Use the file browser to read code, switch branches/tags with the branch dropdown, and jump into any folder or file.
  • Commits shows the history; click a commit to see its diff. Branches and Tags list the other refs.

Clone over HTTPS

  • On a repo page, click the green Code button and copy the HTTPS URL, then:
    git clone https://git.fmm.house/user/repo.git
    
  • You'll be prompted for your Forgejo username and password (or a personal access token) when pushing.

Clone / push over SSH

  • SSH runs on port 2222, not the default 22, so the URL includes the port:
    git clone ssh://git@git.fmm.house:2222/user/repo.git
    
  • Add your public SSH key first under Settings → SSH / GPG Keys so pushes authenticate without a password.

Create a new repo

  • Click the + in the top-right and choose New Repository.
  • Pick the owner, give it a name, set visibility (private/public), and optionally initialize with a README.
  • Once created, the repo page shows the exact clone commands to get started.

Tips

Note

Issues are disabled on this instance — the Issues/Pull-Request tabs may be hidden or empty by design. Use it purely for hosting code.

  • If SSH "connection refused" happens, double-check you're using port 2222 — the default port 22 won't reach Forgejo here.
  • Prefer a personal access token (Settings → Applications) over your account password for HTTPS pushes and scripts; you can revoke it any time.