3 ms·
I'd like to plug self-hosting via Gitea. I have it running on a Raspberry Pi Zero(!) and it works really well[0]. I no longer star projects on GitHub: instead,
by sangnoir 4y ago
I'd like to plug self-hosting via Gitea. I have it running on a Raspberry Pi Zero(!) and it works really well[0]. I no longer star projects on GitHub: instead, I mirror them onto my Gitea server which periodically syncs in changes with a cadence of my choosing[1]. If a project I depend on ever gets deleted from GitHub, I'll have a reasonably up-to-date copy.
If you have a Pi in a drawer somewhere, or an underutilized 512MB VPS, using it to self-host a Gitea instance is worthwhile!
0.Using SQLite as the data store.
1. Alternatively, you can use your Gitea instance as the primary, and have it push changes to other git servers like GitHub or Gitlab
- FpUser 4y agoI use Gitea for self hosting
- xwowsersx 4y agoWhat kind of machine (specs) would I need to run to self-host gitea with decent performance? Small container or EC2 instance (or droplet), etc should be enough?
- xwowsersx 4y agoErr...I guess you sort of answered my question since you're running it on a raspberry pi :P Performance seems just fine? Curious to hear more about your experience. Thanks!
- sangnoir 4y agocaveat: the server only has a single user. Performance wise, pushing and pulling work as fast as any other git server (Though I don't have any hooks). The UI is snappy, though it can be sluggish when initially importing large projects. Out of the 2-dozen projects its handling, the only issue I encountered was the Pi choking while migrating a large project (github.com/huggingface/transformers): I suspect it was hitting an internal timeout when importing large LFS files (ML models). Fortunately, since it uses bare repos and a simple db schema, I performed the git clone operation manually and updated the SQLite db to enable the "mirror" flag & it's been happily syncing since.
- xwowsersx 4y agoNice, thanks for the details!
- DavideNL 4y agoI run it on a Raspberry Pi4 (as a Docker image, with automatic updates using WatchTower.) Of course performance depends on the size of your database and how many repos/files. I've configured it to use a sqlite3 database, which runs great.
- layer8 4y agoWhat do you use as mass storage?
- sangnoir 4y agoI initially used the class-10 microSD card that boots the Pi, but I've moved to an ISCSI mount on my NAS, mostly because I have an unsophisticated LFS setup
- sangnoir 4y agoRemarkably, Gitea can also run directly on my NAS with it's very slow CPU and limited memory. I wouldn't be surprised if it runs on other "appliance"-type devices like routers & NAS with 10+ year-old ARM or MIPS microprocessors.
- vorpalhex 4y agoHow do you sync your github repos to gitea on a regular basis?