Skip to content
1 min read

Migrate to Fjord

Your instance is standard Forgejo, so moving an existing project in uses Forgejo’s own migration tooling. You can bring over more than just the code.

Import a repository

From your forge’s web UI, choose to create a new migration (new repository → migrate) and point it at the source repository’s URL. Forgejo can pull in:

  • the Git history (all branches and tags),
  • and, from supported hosts, issues, pull requests, releases, labels, and milestones.

For a private source, supply a personal access token from that host so Forgejo can read it. Large repositories take a little while; the migration runs server-side.

Mirror instead of a one-time import

If you want the source to keep updating after the move, set the import up as a mirror so your instance pulls changes on a schedule. This is handy while you cut a team over gradually. Forgejo runs the scheduled pull; the upstream

repository mirror documentation covers the options.

Move with the CLI

You can script repository creation and pushes with the fj CLI once your instance is selected:

fj instances use my-instance
fj repo create my-app --private
# then push an existing clone:
git remote add fjord <your-instance-repo-url>
git push --mirror fjord

Point your tooling at the new home

After the code is in:

  • Update local clones’ remotes to the new instance URL.
  • Add your Actions workflows; reference Fjord Actions by full URL so runners never reach github.com.
  • Wire up Pages if you publish a site.
Tip

Bringing a whole team or a large set of repositories? The migration runbook covers mirror-then-switch cutovers, batching, and verifying the move, and Support can help plan it.

Contributors
  • Stephen Way