magnusandClaude Opus 5 58dfcd2ebb Move to dedicated Postgres and netbird-only SSH; DB password to .env
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
2026-09-08 16:06:44 +00:00

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 port 2222
  • 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
S
Description
No description provided
Readme
33 KiB
Languages
Shell 100%