Skip to main content...

W0CHP Git/Code Repository Migration

Since 2018, I migrated all of my code and repositories from GitHub onto my own on-premise, self-hosted solution which was based on the venerable Gogs software (proxied by an Apache web server).

While my solution worked quote well for some time, I had been meaning to migrate all of my code repositories to a different back-end.

Enter, Gitea. Gitea originated as a fork of Gogs, and has diverged significantly – for the better.

Gitea is significantly snappier than Gogs (don’t know why exactly; both are Golang-based). And Gitea offers functionality and features I have been longing-for in Gogs since 2018-ish.

Performance is of paramount importance to me, since all of the W0CHP-PiStar-Dash updates, installations, hostfiles updates, etc. are hosted on my git repo instance.

Unfortunately, Gogs is well-behind the times relating to performance, features, user-friendliness, and functionality. Gogs is simply stale

Making the Switch

So I finally performed the migration…Likely 10 times in a test and staging environment, until it worked as I wanted it to. Placing it into production was a simple and changing the target destination on my proxy server. (Yes, it is still being proxied, and I am currently architecting a solution to allow SSH access via proxy as well).

But the migration/switch was not a simple task by any means. I had to rewrite server-side Gogs-centric SSH public keys, Gogs-centric git hooks, and a host of other changes, until it worked perfectly.

I’m so pleased I was finally able to migrate to Gitea. They have a migration guide, but none of it applied to my particular instance; so I had to get creative.

Ver. # 9a76492 - Document last updated: 3/9/2023
[ Permanent Link ]