58dfcd2ebbee814baf2ae45ada79bc86e020efd9
docker-compose.yml had drifted from the committed version during the move to
this host: a dedicated gitea-postgres service replaces the shared postgres-db
on the LAN box, and SSH is now published on the netbird interface only
(100.75.252.111:2222) instead of 0.0.0.0.
The database password is no longer inline — both POSTGRES_PASSWORD and
GITEA__database__PASSWD read ${POSTGRES_PASSWORD} from .env (gitignored,
mode 0600). .env.example documents the key, and *.bak-* is now ignored.
Note: run docker compose from this directory, otherwise .env is not picked up
and the variable resolves empty.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kjn2zm5PJ5y9t4HjpGouWR
Gitea
Self-hosted Gitea instance running on Docker Compose with a remote PostgreSQL database and automated daily backups.
Services
- gitea — Web UI on port
3008, SSH on port2222 - gitea-backup — Alpine sidecar running a daily cron job at 2 AM
Setup
docker-compose up -d
Backups
Backups run automatically at 2 AM daily, writing gitea-dump-*.zip files to /mnt/nasen/backup/gitea with 7-day retention.
Run a manual backup:
docker exec gitea-backup /usr/local/bin/backup.sh
Check backup logs:
docker exec gitea-backup cat /var/log/backup.log
Languages
Shell
100%