[Guide] Forgejo Repository Migration (Existing Databases)

- Posted in Guides by - Permalink

Forgejo Repository Migration (Existing Databases)

Objective: Merge repositories into a Forgejo instance without overwriting the existing database.

  1. Stop Forgejo on Source sudo systemctl stop forgejo

  2. Archive Repositories tar czf forgejo-repositories.tar.gz /var/lib/forgejo/data/forgejo-repositories

  3. Transfer to New Server scp forgejo-repositories.tar.gz user@new-server:/root/

  4. Extract Safely mkdir -p /root/forgejo-import tar xzf forgejo-repositories.tar.gz -C /root/forgejo-import

  5. 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

  6. Restart Forgejo sudo systemctl start forgejo

  7. 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.