I have a n100 server running proxmox and asustor drivestor2 pro nas.
I would like to setup a low maintenance git platform (with lfs) with backups for all of my code.
My current plan is to host forgejo and Postgres as lxc using the helperscripts installs and then store proxmox backups using the inbuilt backup tool via nfs on the nas. I am new to forgejo but heard that it uses much fewer resources than gitlab, which I am hosting in my job and have therefore more experience with.
Instead of lxc I could also host it in a vm and docker.
The n100 mainboard (asrock n100 dc itx) is a bit unstable, so backups that are easy to recover are important to me.
I want my setup to draw little power, that’s why I think gitlab and proxmox backup server are overkill.
I would also like to extend the setup with immich at some point, so anything that facilitates this would be best.
Any comments or suggestions?
Always going to throw https://charm.land/blog/self-hosted-soft-serve/ into the mix for the questions. Works great, supports LFS, configurable and admon over SSH, multi user support. All from a CLI and easy to setup
Your plan sounds good to me.
I am using gitea (which afaik forgejo is a fork of) for the same reason, also on an n100, and it uses very few resources.
I use Debian lxc and deployed gitea in docker using ansible, but using the lxc helper scripts should also work great
For backups I use restic (running in another lxc) to push the files and DB dump directly to an external server, not the entire lxc
Why not just run bare repos on your n100? That’s what I do. I have no need for a code forge with code collab when it’s just me pushing
https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
If you want a web viewer use a static site git viewer like https://pgit.pico.sh/
How would you handle LFS in this setup?
Stand up a local lfs server or figure out a different way to store large files. I generally avoid lfs
I am hosting both Forgejo and Immich in Docker Containers. I use the example docker compose files from both projects with minimal changes to fit my setup. The volumes are mapped to a Synology NAS that is connected via NFS to the Docker host. Backup is another synology NAS at my parents house. I never had to restore, so I don’t know how easy that would be…
But that means that the database is running on nfs, right? I read that this is not recommended due to locking issues and roundtime latency.
Forgejo can run with Sqllite if you’re just hosting a small instance for your own purposes.
You can run a separate db server using local storage and use NFS only for the data volumes for the applications themselves.
Yes. I didn’t have any problems so far. I guess, it’s because all my services are used by around four people, so the load is pretty low.
I run gogs and that looks to have LFS support, but depending on your requirements that might not be enough.
From what I’ve read gitea is a fork of gogs and forgejo is a gitea fork so I should get similar benefits right?