Forgejo Repository Migration (Existing Databases)
Objective: Merge repositories into a Forgejo instance without overwriting the existing database.
Stop Forgejo on Source
sudo systemctl stop forgejo
Archive Repositories
tar czf forgejo-repositories.tar.gz /var/lib/forgejo/data/forgejo-repositories
Transfer to New Server
scp forgejo-repositories.tar.gz user@new-server:/root/
Extract Safely
mkdir -p /root/forgejo-import
tar xzf forgejo-repositories.tar.gz -C /root/forgejo-import
Merge into Forgejo Storage
rsync -a /root/forgejo-import/var/lib/forgejo/data/forgejo-repositories/ \
/var/lib/forgejo/data/forgejo-repositories/
sudo chown -R git:git /var/lib/forgejo/data/forgejo-repositories
Restart Forgejo
sudo systemctl start forgejo
Adopt Unregistered Repositories
Admin → Site Administration → Repositories → Unadopted Repositories
Scan and adopt repositories
Assign owners and confirm
Verifiy
Repositories appear in UI
Branches and commits are intact
Git clone works
Existing repos are unaffected
Note: Only repositories are migrated; database remains intact.