this post was submitted on 23 Nov 2024
9 points (90.9% liked)

Selfhosted

40329 readers
386 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I’ve started building a small decentralized, non commercial app with a Rust backend + Node.js frontend running on k8s. I would have my own dedicated server for this. Just mentioning the setup because it might grow and for git there seem to be only GitHub and GitLab around and I prefer GitLab.

I care a lot about security and was wondering if it makes sense to self-host GitLab. I‘m not afraid of doing it, but after setup it shouldn’t take more than 1-2 hours per week for me to maintain it in the long run and I’m wondering if that’s realistic.

Would love to hear about the experience of people who did what I’m planning to do.

top 20 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 27 minutes ago

What are the features you need from your host? If it’s just remote syncing, why not just make a small Debian system and install git on it? You can manage security on the box itself. Do you need the overhead of gitlab at all?

I say this because I did try out hosting my own GitLab, GitTea, Cogs, etc and I just found I never needed any of the features. The whole point was to have a single remote that can be backed up and redeployed easily in disaster situations but otherwise all my local work just needed simple tracking. I wrote a couple scripts so my local machine can create new repos remotely and I also setup ssh key on the remote machine.

I don’t have a complicated setup, maybe you do, not sure. But I didn’t need the integrated features and overhead for solo self hosting.

For example, one of my local machine scripts just executes a couple commands on the remote to create a new folder, cd into it, and then run git init —bare then I can just clone the new project folder on the local machine and get started.

[–] scottmeme 1 points 50 minutes ago

I run GitLab with docker compose and watchtower, all the updates are automated and have never caused any issues for me.

That being said my setup uses about 7-8gb of ram.

[–] [email protected] 23 points 4 hours ago (2 children)

For self hosting there is also https://forgejo.org/ which is a fork of https://about.gitea.com/ , the latter of which started to shift to a corporate model.

[–] [email protected] 14 points 3 hours ago

Previous Gitea user and now Forgejo, and yeah it's a great git server. Simple, lightweight but still very capable.

[–] [email protected] 5 points 3 hours ago (1 children)
[–] [email protected] 9 points 3 hours ago (2 children)

technically the same as forgejo, codeberg is the main forgejo contributor/the org owning it

[–] [email protected] 1 points 2 hours ago

Oh! Is it?

Well, living and learning haha

[–] [email protected] 1 points 2 hours ago (2 children)

Quick question: forgejo is the git program that you can install self host a git server, while codeberg is probably the biggest forgejo-kind git server that is open to the public, right?

I dont have a home server to host forgejo (yet?), so I'm thinking of making an account on codeberg, is that correct reasoning?

[–] [email protected] 3 points 2 hours ago (1 children)

If you own a domain, hosting Forgejo on a $5 Debian cloud server works perfectly for your personal use case. My site admin panel shows it's using 75MB of actual RAM (not allocated/virtual), it's truly very lightweight. Disk use is very low, just however big your git repos actually are is the key.

The internal SQlite database option is just fine, don't need to bother with PostgreSQL if you're only doing it for yourself (the DB only holds referential info, the actual git data is stored on disk in normal git directories). There's a built in backup command so you can build a simple shell script to run the dump command periodically and back up the entire thing to a tarball.

re: Codeberg, the only "downside" (not really) is they are for FOSS licensed projects only and frown upon using their service for your personal private non FOSS needs (they're not draconian about it, but it's part of the ethos the service is for FOSS licensed projects to use).

[–] [email protected] 2 points 2 hours ago (1 children)

Oh thank you for the detailed answer😄

I think codeberg is for me in my case. (Btw, I barely know git, I'm gonna read a guide today.) I really like foss, so I will probably create foss stuff.

I really want to make a nas in the future, so I might host my own forgejo instance locally and possibly keep a backup on a cloud storage provider (bought 2tb lifetime on filen). I have somewhat big plans for my nas, but I don't know what I'll eventually do😆

So far I barely use git, so I probably dont need to rent a cloud server. Thanks again though:)

[–] [email protected] 2 points 2 hours ago* (last edited 2 hours ago) (1 children)

Suggestion: start learning git by using your $HOME config files as the first thing you learn how to manage; mentally easy to understand, low friction and just basic git commands needed. One of the most popular repo names we all use is dotfiles so you have plenty of examples to learn from: https://codeberg.org/explore/repos?q=dotfiles

[–] [email protected] 1 points 2 hours ago* (last edited 2 hours ago)

Yeah, (among others) I really want to learn git to sync dotfiles and the nixos configs

(Hopefully I'll probably have tranitioned to nixos in a few months. If I get good enough and somehow build a nas, I might use nixos instead of debian in the server too.)

[–] [email protected] 2 points 2 hours ago (1 children)

Pretty much yes, codeberg integrates some additional services and branding on top (such as codeberg-pages for static page hosting or forgejo-runners for CI) but you can integrate those yourself as well, it's just extra work.

If you're looking for an open alternative to github/gitlab codeberg is imo definitely the way to go

[–] [email protected] 1 points 2 hours ago

Yo thank youu:)

[–] [email protected] 8 points 3 hours ago (1 children)

I tried hosting Gitlab for a while, but configuration and upgrades were difficult, and your really have to stay on top of updates due to vulnerabilities. It also used a lot of resources and wasn't super responsive.

I moved to Forgejo (a hard fork of Gitea), and haven't looked back; I cant recommend it enough. It's fast, doesn't take a lot of resources, actively developed, and has all the features I need.

Codeberg is a public instance of Forgejo if you want to try it out first.

[–] [email protected] 3 points 3 hours ago

It's not fully selfhosted but I did setup my own runner that integrates with their site.

[–] [email protected] 5 points 4 hours ago* (last edited 3 hours ago)

I remember Gitlab requiring quite a large amount of resources, so if you're talking about a solo project, I'd skip it and go with something a lot leaner like Gitea, personally.

I've never had any security issues with GitHub in the past though, and extended features are free for open source projects, so it's kind of hard to ignore.

[–] interurbain1er 1 points 3 hours ago (1 children)

First question is why do you want a forge ? Knowing the feature you need out of it is what should drive your decision.

Personally I would question the benefit of allocating ~5% of your work time to anything that isn't core building your product but that's up to you.

[–] [email protected] 1 points 2 hours ago

Yea a surprisingly small number of people don't know a git remote can literally be any folder outside of your tree, over almost any kind of connection.

I thought about doing a forge but realized that if I was the only one working on this stuff then I could do the same thing by setting my remote to a folder on my NAS.

[–] [email protected] 2 points 3 hours ago

I am selfhosting my Gitlab and it's one of the less troubling services I run.

I followed their documentation for setup and update gitlab biyearly, as far as I remembered I never had to revert to a backup, even after I skipped updates for a little over a year.