Gitea version management on TrueNAS / FreeBSD

German version here

Introduction

Gitea is a free software solution developed in Go. In addition to version management via Git, it also supports collaborative tools such as bug trackers, wiki and code review. The user interface is based on GitHub and can be operated very easily at home on one's own server. Gitea originated as a fork of Gogs and, in contrast to Gogs, offers e.g. a nice full-text search and the much more active development.

Why use Git?

  1. distributed version control: Git enables offline work, fast branching and merging, and simultaneous collaboration between multiple developers.
  2. change tracking: Git tracks changes to files, making it easy to see who made what modifications and when. This allows problems to be identified, resolved and reverted to previous versions if needed.
  3. branching and merging: Git provides powerful features for creating branches to develop new features without affecting the main code. Branches can then be seamlessly integrated into the main branch.
  4. Collaboration: Git facilitates collaborative software development by allowing multiple developers to work on the same project at the same time, sharing and merging their changes.

Admittedly, Git has a bit of a learning curve, especially for beginners. It takes time and effort to understand the concepts and commands. An extra part will therefore be dedicated to the first steps with Git later. Nevertheless, Git is a very widely used and extremely versatile tool, which is why it is the first choice for version control in software development.

The BSDBox is my IT playground. Professional services around network, server and structure building I offer with my company computing-competence. If you find this content valuable and useful, please send me feedback via matrix, email, follow me on Mastodon.

Goals

The aim of this manual is to operate a Gitea server based on TrueNAS or FreeBSD.
In order to be able to use Gitea publicly, a OPNsense firewall is assumed / required with Part 2.

TrueNAS also known as FreeNAS, is a free operating system for Network Attached Storage (NAS). A NAS is an easy-to-manage file server that you can install on your own hardware, unlike Synology or QNAP. TrueNAS can not only serve files: Since it is based on FreeBSD, other services can be operated very easily, leanly and securely with so-called JAILS. FreeBSD does not care if one or 100 jails are running at the same time; only the services running in them are relevant.