# Git forge

Quick guide to our git forge and related services.

# Main Forgejo git forge

The main centre of [F-hub.org](https://f-hub.org/explore/) is the git forge utilizing [Forgejo](https://forgejo.org/). Forgejo is a community driven soft-fork of [Gitea](https://about.gitea.com/), maintained by the non-profit [Codeberg.org](https://codeberg.org/) organisation. Forgejo is entirely Free and Open-Source Software (FOSS).

Once you have an [F-hub.org account](https://wiki.f-hub.org/books/accounts/page/how-to-apply-for-an-account), you can [log into the git forge](https://f-hub.org/user/login) and your account should have already been automatically added to any [organisations](https://f-hub.org/explore/organizations) (groups) that you mentioned during your account application.

To anyone familiar with Github.com, Forgejo should be relatively easy to navigate as the differences in the UI design are not that large. You can also access any git repositories through the usual http git interface. For security reasons direct ssh git access is disabled.

You can find the full [Forgejo user guide here](https://forgejo.org/docs/latest/user/). There is also a nice mobile client for Android that you can [install from F-Droid](https://f-droid.org/en/packages/org.mian.gitnex/).

#### Known issues

There is a known issue that you can't git push from the terminal via http using your regular username and password combination (it will show an invalid credentials error). You can either use SSH to push or create an application access token with write access to your repositories. To do so go to your user settings page, select "Applications" in the side menu, and press the "New access token" button there. It only needs read and write access to your repositories. After creating the access token it will show the secret once(!), so you should copy and paste it somewhere secure for future use as the password for git push via http.

#### Package repositories

Forgejo comes with a built in package repository for various package managers, see the full list of supported formats in the current [version 1.20 here](https://forgejo.org/docs/v1.20/user/packages/). We are currently investigating which formats to enable, given how some of these can be very bandwidth heavy.

#### Web-scraper block

Due to excessive web-scraping by AI companies to train their code-completion LLMs, we were forced to employ multiple ways to block non-genuine users on the web-interface of Forgejo. Besides an extensive user-agent based block we also had to resort to an proof-of-work based internal proxy called [Anubis](https://xeiaso.net/blog/2025/anubis/). Currently it is configured to ask the browser once per week to solve a complicated math problem and then store the result for direct access. This requires a modern browser with Javascript enabled and various additional capabilities that web-scraper software currently doesn't have. This solution is far from ideal, but the alternative was to lock down the instance completely as the server was regularly overloaded by these bots.

#### Upcoming federation

Forgejo is planning to be able to federate via the ActivityPub protocol with other Forgejo instances. This means that similar to Mastodon etc. you can follow and interact with members of other git forges directly from this website.

# CI/CD build service

This is still a work in progress.

Very likely we enable Forgejo actions (compatible to Github actions) with private runners on your own hardware soon.

#### Woodpecker CI  


For regular contributors we have a [Woodpecker CI](https://woodpecker-ci.org/) with hosted runners for x86 and ARM64. It can be easily accessed via [https://woodpecker.f-hub.org](https://woodpecker.f-hub.org) with your f-hub.org account but you will first need to be added to the contributor group. If you are already a regular contributor and were not added to this user-group in our backend, please let us know and we will fix it ASAP.

# Renovate dependency bot

We are hosting a local instance of [Renovate](https://github.com/renovatebot/renovate) for automated code-review and dependency management.

You can invite the user called [Renovate Bot](https://f-hub.org/renovate) on our Forgejo to your repository and it will create an automatic PR next time it runs.

Currently the bot runs once every hour, so please be a bit patient.

Once the PR is created you can merge it to enable the automatic dependency checks. Please also read the other instructions provided in the PR to learn how to configure the bot for your repository.

You can find the full [Renovate documentation here](https://docs.renovatebot.com/).

*This documentation is a stub, we will provide more details later.*

# LLM contribution policy

We do not wish to host code that was written by LLMs and will start to remove any such projects soon.

A more detailed description what falls under this policy will be added here soon, but it will be similar to the policy Codeberg.org has.

# Other related services

#### IRC channel bot webhooks

You can easily link your git repository or organisation via webhooks to any channel on our hybrid chat network (Accessible via IRC, XMPP and Matrix) with our [advanced channel bot](https://wiki.f-hub.org/books/chat-network/page/channel-bot). This allows getting fine-grained notifications directly to your chat messenger app and easy collaboration with other members.

#### Weblate translation tool

Your repository can also be integrated with our Weblate tool to crowd-source translations. There is a dedicated section on this wiki about how to use it [here](https://wiki.f-hub.org/books/translation-tools).

#### Real-time code collaboration

We are currently investigating the new [Open-Collaboration-Tools](https://www.open-collab.tools/) framework for easy peer-programming in VSCodium based IDEs and hope to host our own back-end for it soon. Alternatively, you should be already able to use [Saros](https://www.saros-project.org/) with our XMPP accounts.