Skip to Content

Moving My Development to GitLab

A Self Hosted Instance
7 September 2026 by
All Things Toasty Software Ltd, Austin Welsh-Graham

I’m making a fairly significant change to how I manage my software projects.

From now on, GitLab is going to be my primary Git platform, using my own GitLab instance at git.toastysoftware.co.uk.

This doesn't mean I'm leaving GitHub. GitHub is still an important part of how I share my projects publicly, and my repositories will continue to be mirrored there. The difference is that GitLab will become the place I actually work from day to day.

My GitLab username is the same as my GitHub username, AustinATTS, so there shouldn't be too much confusion when moving between the two.

Why GitLab?

I've been using GitHub for a long time, and it's still an excellent platform. However, as the number of projects I'm working on has grown, I've increasingly wanted more control over the infrastructure behind them.

Having my own GitLab instance gives me that control.

Rather than relying entirely on a third-party hosted service, I can run the software myself, configure it around how I actually work, and integrate it directly with the rest of my development infrastructure.

It's also another useful project in its own right. Running GitLab means dealing with the practical side of hosting a fairly substantial development platform. Storage, runners, authentication, backups, updates and all the other little pieces that come with running your own services.

And, naturally, it runs alongside the rest of my rather increasingly toasty collection of infrastructure.

GitHub isn't going anywhere

One important part of this move is that GitHub will continue to be used.

My repositories will be mirrored between GitLab and GitHub, meaning projects can still be discovered, cloned and contributed to through GitHub.

The difference is simply which copy is considered the primary one.

GitLab will be where I push changes and manage my development workflow, while GitHub will continue to provide the public-facing presence that my projects have built up over the years.

For my personal repositories, that means GitLab AustinATTS will be the primary account, with GitHub continuing to mirror the repositories.

A new direction for Toasty Deployer

One of the more interesting consequences of this change is that I now have a reason to expand Toasty Deployer.

The current version is built around GitHub's ecosystem, particularly GitHub Apps and webhook events. With GitLab becoming my primary platform, I'm planning to develop a GitLab-oriented version of Toasty Deployer as well.

The idea is to eventually have the same sort of automated deployment workflow, but triggered from my GitLab repositories rather than relying on GitHub.

That should also make the project more flexible in the long run. Instead of designing my deployment infrastructure around one particular Git hosting provider, I can start treating the Git provider as another interchangeable part of the system.

One more piece of my own infrastructure

This is ultimately the main reason I'm making the move.

I already run a number of my own services and infrastructure, and GitLab fits nicely into that ecosystem. It means my source code, CI/CD infrastructure and deployment tooling can be much more closely integrated.

It also gives me a nice opportunity to experiment with infrastructure that I wouldn't necessarily get to work with otherwise.

So, while GitHub isn't disappearing from my projects, the centre of gravity is moving.

And that's a change I'm rather looking forward to.

I Finally Beat Nine Men's Morris
The Game Module and API Are Here