From GitHub to Codeberg: Rethinking Repository Management and Personal Website Hosting

From GitHub to Codeberg: Rethinking Repository Management and Personal Website Hosting

●2 ●15
calendar_today ago • schedule3 min read
— Originally published at synnaulaid.my.id

Developer platforms make it easier than ever to build and publish software. With hosted Git repositories and static website deployment, an individual developer can maintain a portfolio without managing an entire server infrastructure.

However, convenience also introduces an important question: how prepared are we when our existing workflow no longer meets our needs?

I recently faced this question while maintaining my personal website and repositories.
When a Familiar Workflow Stops Working

GitHub had been an essential part of my development process. I used it to manage source code, track changes, and publish my personal website through GitHub Pages.

The workflow was straightforward. I could commit changes, push updates, and use the hosting service to make my website publicly accessible.

Eventually, I encountered an issue that affected website publishing. My account was still accessible, but the publishing functionality did not work as I expected. I could not establish the exact cause, so I avoided drawing conclusions about the platform or its policies.

Nevertheless, the problem disrupted my workflow and encouraged me to explore alternative solutions.

The experience highlighted something worth considering: even when source code is stored safely, the services surrounding a repository may introduce separate dependencies.

Repository storage, continuous integration, deployment, domain management, and public hosting are related, but they are not necessarily the same responsibility.

Understanding those distinctions can make future migrations easier.
Moving Repositories to Codeberg

I decided to move my repositories to Codeberg, a platform built around open-source software and Git-based collaboration.

A repository migration requires more than copying project files. Depending on the project, developers may need to verify branches, tags, commit history, remotes, and repository settings. Issues, pull requests, automation, and other platform-specific features may require separate consideration.

A practical migration checklist includes:

Create a reliable backup of each repository.
Verify that the Git history and important branches are preserved.
Update remote URLs and test push and pull operations.
Review project documentation and any external integrations.
Confirm that essential workflows still function after migration.

Not every platform feature has a direct equivalent, so each project should be checked individually.

The objective is not merely to move the code. It is to ensure that the development workflow remains usable afterward.
Self-Hosting a Personal Website

For website deployment, I chose a home server instead of relying on my previous publishing workflow.

Self-hosting provides a valuable learning opportunity, particularly for developers who want to understand how websites operate beyond application code.

It also introduces several operational responsibilities.

DNS records must point to the correct destination. Public access may require router configuration, a reverse proxy, or a suitable tunneling solution. HTTPS should be configured appropriately, while backups and software updates need to become part of regular maintenance.

Availability is another consideration. A home server depends on electricity, network connectivity, hardware reliability, and the security of the surrounding environment.

Self-hosting is therefore not automatically cheaper or more reliable than managed hosting. The right choice depends on the project, available resources, and the operator's willingness to maintain the system.
A Better Understanding of Technical Dependencies

This migration has encouraged me to think more carefully about portability, infrastructure, and recovery planning.

Developers do not necessarily need to abandon hosted services. However, they benefit from knowing which components are essential, how those components interact, and how to replace them if necessary.

I documented the personal side of this transition, including why I left my previous workflow and what I hope to learn from the move, in my original article:

Read the full experience: Moving On, Not Out of Hate: My Journey from GitHub to Codeberg

For me, the move is both a practical adjustment and a learning project. By combining Codeberg for repository management with a home server for deployment, I hope to develop a better understanding of the infrastructure behind my personal projects.

Sometimes, the most useful outcome of a technical problem is not the replacement tool itself, but the knowledge we gain while finding a new way forward.

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

Beyond the 98.6°F Myth: Defining Personal Baselines in Health Management

Huifer - Feb 2

Optimizing the Clinical Interface: Data Management for Efficient Medical Outcomes

Huifer - Jan 26

Beyond the Crisis: Why Engineering Your Personal Health Baseline Matters

Huifer - Jan 24

Running OpenAPI Validation in GitHub Actions and Showing Findings in Pull Requests

Ganesh Kumar - Jul 3

AAIF Hits 10 Projects. Its CTO on What to Adopt Now and the Security Gaps Left Open

Tom Smithverified - Oct 23
chevron_left
243 Points • 17 Badges
Sukabumi, West Java, Indonesia • synnaulaid.my.id
5Posts
1Comments
6Connections
Hello World! I’m Synnaulaid — though you can call me Syn. Some people jokingly call me “the Pathetic... Show more

Related Jobs

View all jobs →

Commenters (This Week)

2 comments
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!