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.

EDIT: Thanks for all the answers, trying my best to reply. I want CI/CD, container registry and secrets management that’s what I was hoping to get out of GitLab.

    • alwayssitting@infosec.pub
      link
      fedilink
      English
      arrow-up
      26
      ·
      1 month ago

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

    • Scrubbles@poptalk.scrubbles.tech
      link
      fedilink
      English
      arrow-up
      11
      ·
      1 month ago

      Another upvote for forgeo. So easy to get set up and running. Can run it in docker itself. I tried to host gitlab and got so frustrated with the pages and pages of ruby configs. Forgejo is so much cleaner.

        • Blastboom Strice@mander.xyz
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 month ago

          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?

          • scsi@scribe.disroot.org
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 month ago

            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).

            • Blastboom Strice@mander.xyz
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 month ago

              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:)

              • scsi@scribe.disroot.org
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                1 month ago

                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

                • Blastboom Strice@mander.xyz
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  1 month 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.)

          • Neshura@bookwormstory.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 month ago

            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

    • Lem453@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 month ago

      I did an inplace upgrade of gitea to forgejo. No issues.

      I’ve been self hosting this for 2 or 3 years now.

      There has been zero maintenance other than the occasional update button

      I use it for my docker compose files that portainer pulls from with the click of the button to update my containers when needed.

      I edit the files in VS code with the git plugin and it works without issue

    • Eezyville@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      I’d also like to add that Forgejo is working on federation along with GitLab. I think Forgejo will do it first though.

    • shaserlark@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      Thanks! This looks actually really interesting. Did you try doing CI/CD with it? In future I would probably collaborate with others who’d be also using my self-hosted Git. What would be critical for me is that I can set it up in a way that once I open a PR that branch automatically gets deployed to a dev Kubernetes environment and when I merge with main that it automatically deploys to staging and only when I release a tag the branch would end up in prod. Also I’d like to do secrets management over the platform. I like that Forgejo would be non-commercial and I would prefer it over GitLab if it can do these things well.