Repozytoria w nast folderze -> /usr/local/bin/data/gitea-repositories/
Bledy przy pushowaniu
sudo journalctl -u gitea --no-pager | grep "receive-pack" | tail -n 20
Należy zwiększać rozmiar bufora post w lokalnym repozytorium ->
git config --global core.sshCommand "ssh -o Compression=no -o TCPKeepAlive=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=10"
git config --global http.postBuffer 524288000
Najprostszy i zalecany sposób — wbudowany backup Gitea
Gitea ma wbudowaną komendę do pełnego backupu.
📦 Polecenie:
sudo -u git gitea dump
📁 Domyślnie zapisze plik (np. gitea-dump-2025-10-12.zip) w katalogu, z którego uruchamiasz polecenie, np. /home/git/.
📂 Zawartość backupu:
wszystkie repozytoria (/data/gitea-repositories)
baza danych (PostgreSQL / MySQL / SQLite)
pliki konfiguracyjne (app.ini, custom/conf/)
logi, załączniki, awatary, itd.
✅ Automatyczny backup (cron raz dziennie)
Edytuj crontab: sudo crontab -e
Dodaj np.: 0 2 * * * sudo -u git /usr/local/bin/gitea dump -c /etc/gitea/app.ini -f /backup/gitea-$(date +%F).zip
To zrobi kopię codziennie o 02:00 w nocy.
🔁 Odtworzenie z backupu
Aby przywrócić:
Zatrzymaj Gitea:
sudo systemctl stop gitea
Rozpakuj dump:
unzip gitea-dump-2025-10-12.zip -d /tmp/gitea-restore
Skopiuj katalogi i bazę z powrotem w odpowiednie miejsca.
Uruchom Gitea:
sudo systemctl start gitea
📘 Podsumowanie:
Co chcesz zrobić Komenda
Pełny backup (zalecane) sudo -u git gitea dump
Własna ścieżka sudo -u git gitea dump -c /etc/gitea/app.ini -f /backup/gitea.zip
Ręczny backup katalogów tar -czvf /backup/...
Backup bazy MySQL mysqldump -u gitea -p gitea > /backup/gitea.sql
Codzienny backup cronem 0 2 * * * sudo -u git gitea dump ...