• zaphod@lemmy.ca
    link
    fedilink
    English
    arrow-up
    83
    arrow-down
    2
    ·
    edit-2
    10 months ago

    The idea of “self-hosting” git is so incredibly weird to me. Somehow GitHub managed to convince everyone that Git requires some kind of backend service. Meanwhile, I just push private code to bare repositories on my NAS via SSH.

    • platypus_plumba@lemmy.world
      link
      fedilink
      English
      arrow-up
      33
      arrow-down
      3
      ·
      edit-2
      10 months ago

      They didn’t convince anyone of anything, they just have a great free-tier service, so people prefer using it than self-hosting something. You can also self-hosted Github if you want the features they offer, besides Git.

      • zaphod@lemmy.ca
        link
        fedilink
        English
        arrow-up
        31
        arrow-down
        1
        ·
        edit-2
        10 months ago

        This post is about “self-hosting” a service, not using GitHub. That’s what I’m responding to.

        I’m not saying GitHub isn’t valuable. I use it myself. And in any situation involving multiple collaborators I’d probably recommend that kind of tool–whether GitHub or some self-hosted option–for ease of user administration, familiar PR workflows, issue tracking, etc.

        But if you’re a solo developer storing your code locally with no intention to share or collaborate, and you don’t want to use GitHub (as, again, is the case with this post) a self-hosted service adds a ton of complexity for only incremental value.

        I suspect a ton of folks simply don’t realize that you don’t need anything more than ssh and git to push/pull remote git repositories because they largely cargo cult their way through source control.

        • HappyRedditRefugee@lemm.ee
          link
          fedilink
          English
          arrow-up
          5
          ·
          10 months ago

          Is running a docker container a lot of overhead?

          Ernestly asking, since my opinion is skewed cause im use to running containers.

          • zaphod@lemmy.ca
            link
            fedilink
            English
            arrow-up
            6
            ·
            edit-2
            10 months ago

            Absolutely. Every service you run, whether containerized or not, is software you have to upgrade, maintain, and back up. Containers don’t magically alleviate the need for basic software/service maintenance.

            • HappyRedditRefugee@lemm.ee
              link
              fedilink
              English
              arrow-up
              2
              ·
              10 months ago

              Yes, but doesn’t that also apply for a machine running bare git?

              Not containers also adds some challenges with posibly having dependecies problems. I’d say running bare git is not a lot easier than having a container with say forgejo.

              • zaphod@lemmy.ca
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                10 months ago

                No. It’s strictly more complexity.

                Right now I have a NAS. I have to upgrade and maintain my NAS. That’s table stakes already. But that alone is sufficient to use bare git repos.

                If I add Gitea or whatever, I have to maintain my NAS, and a container running some additional software, and some sort of web proxy to access it. And in a disaster recovery scenario I’m now no longer just restoring some files on disk, I have to rebuild an entire service, restore it’s config and whatever backing store it uses, etc.

                Even if you don’t already have a NAS, setting up a server with some storage running SSH is already necessary before you layer in an additional service like Gitea, whereas it’s all you need to store and interact with bare git repos. Put the other way, Gitea (for example) requires me to deploy all the things I need to host bare repos plus a bunch of addition complexity. It’s a strict (and non-trivial) superset.

                • HappyRedditRefugee@lemm.ee
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  10 months ago

                  I dont know. 😆 im really just trying to get it in case -for example- of needing to advice someone in such a case :) my confusion probably comes from the fact that I have never host anything outside containers.

                  I still see it a bit diferent. A well structured container structure with configs as files instead of bare commands, back up volumes would be the same effort… But who knows. Regarding the rest like proxies, well you do not really need one.

                  Thanks taking the time to explain you point tho!

    • azertyfun@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      27
      arrow-down
      1
      ·
      10 months ago

      You’re completely missing the point. Even Gitea (much simpler than GitHub, nevermind GitLab) is much more than a git backend. It’s viewable in a browser, renders markdown, has integrated CI functionality, and so on.

      Even for my meager self-host use-case, being able to view markdown docs in the browser is useful from time to time, even on my phone.

      As for the things I use (a self-hosted) GitLab instance at work for… that doesn’t even scratch the surface.

      • Ook the Librarian@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        4
        ·
        10 months ago

        Do you honestly think they’re “completely missing the point”? Read the meme. There’s no mention of gitea. Self-hosting git is nothing to wiggle your tie over. Maybe setting up the things you are talking about are, but git?

        • azertyfun@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          1
          ·
          10 months ago

          The title of the post is literally “I love my Gitea”.

          The content of them meme does conflate “git” with its various frontends (like gitea), but it’s an incredibly common misnomer so who cares?

          The person I responded to then went on a weird rant about how “git by itself is distributed” which is completely irrelevant to the point since OP’s Gitea provides a whole lot more.

          • Ook the Librarian@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            3
            ·
            10 months ago

            I said “read the meme” because that is all I was addressing. The title is just engagement-bait as far as I’m concerned. It’s either a meme or question. I’m sure others are here for the question but not the meme. And therefore, I’m being engagement-baited. Who knows, but I was clear about what I was talking about.

            I just think saying “you’re completely missing the point” to a comment that is perfectly on topic is completely uncalled for.

            I reason I think git is dead-simple to “self-host” is because I do it. I’m not a computer guy. I just used svn to version control some papers with fellow grad students. (it didn’t last, i was the only one that liked it.) so now i use git for some notes i archive. I’m not saying there aren’t tools to considerably upgrade the easy-of-use factor that would require some tech skills I don’t possess, but I stand by point.

    • vzq@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      1
      ·
      10 months ago

      Bare repos with multiple users are a bit of a hassle because of file permissions. It works, and works well, as long as you set things up right and have clear processes. But god help you if you don’t.

      I find that with multiple users the safest way is to set up/use a service. Plus you get a lot of extra features like issue tracking and stuff.

      • zaphod@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        10 months ago

        Agreed, which is why you’ll find in a subsequent comment I allow for the fact that in a multi-user scenario, a support service on top of Git makes real sense.

        Given this post is joking about being ashamed of their code, I can only surmise that, like I’m betting most self-hosters, they’re not dealing with a multi-user use case.

        Well, that or they want to limit their shame to their close friends and/or colleagues…

  • vzq@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    55
    ·
    10 months ago

    I love it when I check out am applicants’ GitHub and run into a bunch of repositories with mods for hentai games.

    • CosmicTurtle@lemmy.world
      link
      fedilink
      English
      arrow-up
      42
      ·
      10 months ago

      I mean…are they good mods? Does the candidate have good code etiquette?

      Honestly, the fact that a candidate would mod any game, let alone a hentai game, would be pluses in my book.

      • vzq@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        46
        ·
        10 months ago

        I definitely do not count it against them as long as they know how to human at the interview. I just review the code as I would any repo.

        The only thing is that with regular projects I tend to go “I noticed on your GitHub you have project X that uses technology Y, etc etc”. With H projects I just go “do you have experience with Y” and let him choose how much he wants to share about the project. So far they remain vague on the non technical details and I let them leave with their dignity intact.

        So, ranked, way ahead of candidates without visible projects, but slightly behind people with projects we can discuss in detail in front of the people from HR ;)

      • Bazoogle@lemmy.world
        link
        fedilink
        English
        arrow-up
        19
        ·
        10 months ago

        lol, I have no idea why someone down voted you.

        But yea, the plural of code in the context of programming scripts is just code, but if you were to talk about codes like a code to get into a door pin-pad, it has an “s” at the end for plural. To be honest, I’m sure there’s plenty of native English speakers not in the tech world that would likely also call it “codes” when talking about programming.

      • WPlinge@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        It’s also a lot more common in the HPC community from what I’ve seen. Fortran people often have codes they want to run.

      • SuperDuper@lemmy.world
        link
        fedilink
        English
        arrow-up
        18
        ·
        edit-2
        10 months ago

        True pro gamers just use

        /Project

        /Project1

        /Project_latest

        /Project_final

        /Project_final2

        /Project_final_forrealthistime

        • limonfiesta@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          ·
          10 months ago

          Are you the hacker known as 4Chan? How else could you know my version naming convention?

          Regardless, all will be forgiven if you can remind what folder and file actually contains the final version. So… which is it?

          • kool_newt@lemm.ee
            link
            fedilink
            English
            arrow-up
            4
            ·
            edit-2
            10 months ago

            You tried to get organized and moved it here. It says “alpha” and “test” but it’s the real one, ready for production.

            ~/git/projects/Project_final3-alpha-0.1.1-test

            • limonfiesta@lemmy.world
              link
              fedilink
              English
              arrow-up
              4
              ·
              10 months ago

              Imposter. That was a test. The real 4Chan would know that I use:

              FileName.ACTUAL_REAL_LATEST_FINAL_PROD_VERSION

              And it works everytime, about 70% of the time.

    • BOFH666@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      10 months ago

      Absolutely!

      Running local, self hosted forgejo with a few runners.

      Now my code is neatly checked with pre-commit and linters, build when new tags are pushed, renovate is scheduled every 24 hours to check for new releases of stuff etc.

      Just a few containers and a happy user :-)

        • BOFH666@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          Still testing and fiddling, but I’m using the forgejo-runner. Renovate is just another repository, with a workflow to get it started:

          on:
            schedule:
              - cron: '5 2 * * *'
              - cron: '5 14 * * *'
          
          jobs:
            build:
              runs-on: docker
              container:
                image: renovate/renovate:37.140-full
              steps:
                - name: Checkout
                  uses: actions/checkout@v3
          
                - name: Run renovate
                  env:
                    PAT: ${{ secrets.PAT }}
                    GITHUB_COM_TOKEN: ${{ secrets.GITHUB }}
                  run: |
                    echo "Running renovate"
                    cd ${GITHUB_WORKSPACE}
                    renovate --token ${PAT}          
          

          The renovate image has been pulled by hand and the forgejo-runner will happily start the image. Both PAT and GITHUB secrets are configured as ‘action secrets’ within the renovate repository.

          Besides the workflow, the repository contains renovate.json and config.js, so renovate has the correct configuration.

        • Gush5310@jlai.lu
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          I am not the OP but I use Woodpecker CI.

          I like to keep things separated, in a KISS fashion. This makes changing either software easier.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    10 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    Git Popular version control system, primarily for code
    NAS Network-Attached Storage
    SSH Secure Shell for remote terminal access

    3 acronyms in this thread; the most compressed thread commented on today has 6 acronyms.

    [Thread #442 for this sub, first seen 20th Jan 2024, 16:55] [FAQ] [Full list] [Contact] [Source code]

  • Batbro@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 months ago

    I forked a piece of code and found a bug, I’m still afraid to merge it in because I might have hit it by mistake