Files
ai-prompts/gitea-server/server-briefing.md

3.6 KiB

Gitea Server — Context Briefing

Use this file at the start of any AI session that involves managing this Gitea server. Paste its contents to give the AI full context.


Server Identity

Item Value
Hostname GITREPO
IP 192.168.0.126
OS Debian GNU/Linux 12 (bookworm)
Role Self-hosted Gitea git server
Public domain g.pozi.co.za
Platform Proxmox LXC container
Disk 500GB ZFS volume

Gitea Installation

Item Value
Version 1.25.4
Binary /usr/local/bin/gitea
Config /etc/gitea/app.ini
Repo storage /srv/git
Data/logs /var/lib/gitea
Service systemd — gitea.service
Run as user git (uid 999)
Web port localhost:3000 (internal only)

Network / TLS Architecture

Internet
  └── OPNsense router (public IP)
        ├── Port 80/443 → Nginx SNI proxy (another LAN server)
        │     └── g.pozi.co.za (SNI) → 192.168.0.126:443
        └── Port 2222 → 192.168.0.126:22  (SSH git access, external)

192.168.0.126
  ├── Nginx :80   — ACME challenge + redirect to HTTPS
  ├── Nginx :443  — TLS termination (Let's Encrypt cert) + proxy → :3000
  └── Gitea :3000 — internal only
  • TLS cert: Let's Encrypt via Certbot, auto-renews
  • Cert path: /etc/letsencrypt/live/g.pozi.co.za/
  • Nginx config: /etc/nginx/sites-available/g.pozi.co.za

Access Methods

Web UI

https://g.pozi.co.za

API

Base URL:  https://g.pozi.co.za/api/v1
LAN URL:   http://192.168.0.126:3000/api/v1
Token:     (request from owner — stored securely, not in this file)
Docs:      https://g.pozi.co.za/api/swagger

SSH (git operations)

LAN:  git@192.168.0.126:gadmin/REPO.git          (port 22)
WAN:  git@g.pozi.co.za:gadmin/REPO.git           (port 2222)

~/.ssh/config entry for external access:
  Host g.pozi.co.za
      Port 2222
      User git
      IdentityFile ~/.ssh/id_gitea

Admin Account

Item Value
Username gadmin
Email richard@teacup.co.za
Name Richard Brandon
Role Admin

Existing Repositories

Repo Visibility Purpose
gadmin/multiplan Private Multiplan PHP ERP deployment pipeline
gadmin/ai-prompts Public AI prompt and rules files (this repo)

Key File Locations

/etc/gitea/app.ini                          Gitea config
/etc/nginx/sites-available/g.pozi.co.za    Nginx vhost
/etc/systemd/system/gitea.service          Systemd service
/etc/letsencrypt/live/g.pozi.co.za/        TLS certificates
/srv/git/                                   Bare git repositories
/var/lib/gitea/                             Gitea data, logs, sessions
/home/git/.ssh/authorized_keys             SSH keys (managed by Gitea)

Maintenance Commands

# Service control
systemctl status gitea
systemctl restart gitea
systemctl status nginx

# Check logs
journalctl -u gitea -n 50
tail -f /var/lib/gitea/log/gitea.log

# Certbot renewal (auto via timer, manual test)
certbot renew --dry-run

# Disk space
df -h

# Gitea version
gitea --version

Backup Checklist

Items to back up periodically:

  • /etc/gitea/app.ini — config (contains secrets)
  • /srv/git/ — all bare repo data
  • /var/lib/gitea/data/gitea.db — SQLite database (users, keys, settings)
  • /etc/letsencrypt/ — TLS certs and account

What This Server Does NOT Do

  • It does not run application code
  • It does not have a CI/CD runner
  • It does not send email (mailer disabled)
  • It is passive — receives pushes, serves pulls