I am experimenting with using forgejo instead of GitHub for my personal projects. So far I like it, however I would like to make it available to the outside world at some point.

I was wondering what kind of traps I should avoid. The following things come to mind so far:

  • Forgejo Actions seem like a massive potential security risk, however I do not intend to enable sign up for other
  • OpenID appears to be a thing for forgejo, I do not know how it works and it seems like it would allow access to my instance even with registering disabled
  • I would put the instance behind a nginx as reverse proxy, but how do you keep bot traffic to a minimum? Anubis?

I feel like there are a ton of things I have not thought of, which is why I am holding off on making anything available without a VPN so far.

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

    I run it in a rootless Podman container using Quadlets. Instead of opening the server’s ssh port, I only port-forward the container’s ssh port (e.g. 22 -> 2222). I have sign-ups enabled, since I want people to be able to contribute (or just create issues). But I have configured the server so that nobody can create a repository. They can still fork my repos and send a pull request.

    I have yet to experiment with Actions. I assume the safest option would be to only enable it for my own commits, but I am not sure.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 month 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
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    VPS Virtual Private Server (opposed to shared hosting)
    nginx Popular HTTP server

    4 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

    [Thread #195 for this comm, first seen 28th Mar 2026, 14:10] [FAQ] [Full list] [Contact] [Source code]

  • Possibly linux@lemmy.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    I would strongly recommend against publicly exposing it. It will get hammered by bots continuously.

    Instead, I would move public repos to Codeberg

  • moonpiedumplings@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago
    • oauth, and control sign ups via there. Don’t let people sign up via forgejo itself.
    • anubis, yeah. Or similar.
    • forgejo actions is an optional component… and forgejo users can bring their own actions server. Of course, it’s a risk to them since the server owner could execute code in actions. But yeah.
    • arschflugkoerper@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      I definitely want to use forgejo actions, but I am mainly worried about random people being able to execute any code on them. Preferably only approved users can do that.

      • moonpiedumplings@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        The way forgejo actions works, is that it is not a universal thing for every repo. Each repo, can have it’s own forgejo actions instance connected to it, running stuff.

        The big benefit of that, is that you can make users bring their own actions servers, and not bother to deploy your own.

  • tofu@lemmy.nocturnal.garden
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    Yes, Check Anubis, scraper bots follow every link they find and especially git forges basically have infinite links (every single commit and comparison between every single commit and every other).

    I haven’t thought it through but there may be some implications on opening port 22 for git via ssh.

  • surewhynotlem@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    1 month ago

    Lots of good answers already. Just want to add.

    Block IP from every country that doesn’t have your users in it. That will go a long way.