FL1GHT5 Lab • Linux & Servers

Run a Personal Git Server with Gitea

Who This Is For

Intermediate.

Think of it like a shared recipe box that keeps every past version of every card. If someone "improves" a recipe and ruins it, you can just flip back to the version before the change.

What You'll Build

A private repository containing at least one Docker Compose stack or Ansible project.

Prerequisites

Good Repository Ideas

Deploy with Docker Compose

$services:
$ gitea:
$ image: gitea/gitea:latest
$ ports:
$ - "3000:3000"
$ - "222:22"
$ volumes:
$ - ./data:/data

Choose a Database

SQLite is fine for personal use; Postgres/MySQL if you expect heavier concurrent use.

SSH vs HTTPS Git Access

SSH is generally preferred for regular use once keys are set up; HTTPS is simpler for occasional/first-time clones.

Create Your First Private Repository

Push an existing project, your Compose stacks folder is a great first candidate.

Organization and Team Permissions

Even solo, organizations are useful for grouping related repos (e.g. "homelab", "website").

Gitea Actions (CI/CD)

Optional, and powerful, but runners execute arbitrary pipeline code with real host access. Treat a CI runner as a privileged system, never run untrusted code against it.

Security & Backup Notes

Troubleshooting

Lab Finish Line

A private repository containing one Docker Compose stack or Ansible project.

What to Build Next

Planning a business implementation?

Explore our infrastructure and systems services.

View services