Files
Atay-Makhzan-Ops/docs/ADR-0001-current-gitea-docker-compose.md
T

1.4 KiB

ADR-0001: Current Gitea Docker Compose Architecture

Status

Accepted.

Context

Atay Makhzan needs a sovereign Git forge controlled by Saad ibn Zoubayr. The current operational need is reliability, simple maintenance, backups, and controlled upgrades.

Decision

Run official Gitea in Docker Compose with PostgreSQL, reverse-proxied by Nginx with Certbot TLS.

Current production shape:

  • Gitea image pinned to gitea/gitea:1.26.2
  • PostgreSQL image postgres:16-alpine
  • Gitea HTTP served locally on port 3001
  • Public HTTPS via Nginx on ataymakhzan.com
  • Git SSH exposed on port 2222
  • Persistent data mounted under /opt/gitea

Consequences

Positive

  • Simple architecture
  • Easy backups
  • Easy rollback through Docker image pinning and database dumps
  • Low operational burden
  • Enough for current private forge needs

Negative

  • Single VPS is a single point of failure
  • Scaling and HA are manual future work
  • Public customization is limited unless we theme, extend, or fork
  • Production safety depends on disciplined backups and upgrade procedure

Future trigger for revisiting

Revisit this decision if Atay Makhzan needs:

  • Multi-node availability
  • Custom product features inside the forge
  • Organization-wide policy automation not available in Gitea
  • Deep UI/UX changes that themes cannot support
  • Integrated CI/package registry workflows beyond Gitea's native capabilities