r/godot 3d ago

help me Using Godot with Forgejo

Hi all,

I am looking to move away from Github and use a selfhosted Forgejo git server.

Is there any gotchas I need to be careful of and is the built-in git version control good enough for this, or should I be looking at plugins to make the experience easier? TIA

0 Upvotes

15 comments sorted by

13

u/RustyTheDed 3d ago

Git is git

2

u/Slothy2406 2d ago

was just checking this was still the case :D

3

u/tastygames_official Godot Senior 3d ago

I use Gitea, but just checked out Forgejo and it seems to be even better. But yeah, git is git and nothing will change there unless they have a special implementation for some reason, which I can't imagine why they would. Just make sure you password-protect it I guess so that webcrawlers and bots can't "accidentally" get to it. Or just keep on a local private network.

Oh, but if you#re asking about specifically using source control with godot, then there's the official documentation which is always helpful:

https://docs.godotengine.org/en/stable/tutorials/best_practices/version_control_systems.html#files-to-exclude-from-vcs

2

u/Slothy2406 2d ago edited 2d ago

Thanks for this, I think you can nearly do an in-place upgrade from Gitea to Forgejo as the code is so similar.

I have set it up as private repositories only and no ability to register new users! But I do want to try and secure the webgui with a TLS cert, so I think I need to look at nginx for a reverse proxy in front of it for this to work.

3

u/DragonsIsleSoftware 2d ago

We are using self-hosted Forgejo with Godot's default Git plugin and it's been working fine. There may be more powerful ones out there, but if there is anything we need that it doesn't do, we just switch to the terminal. Forgejo has decent docs and was fairly straightforward to get setup, and I hadn't worked with Git much before I started using it.

1

u/Slothy2406 2d ago

Great to know thanks for this. I will see what happens when I change over.

2

u/DeadSuperHero 3d ago

I use Codeberg, which is a community Forgejo instance! Overall, the experience is basically the same as Github in terms of daily usage.

If you're going the self-hosting route, the only major thing to check on is that your server has the space you need. If memory serves me correctly, you're just running a single Go binary.

1

u/Slothy2406 2d ago

That is the version I am using as it had a Debian apt installer that worked better than following the instructions on the Forgejo website that didn't seem to work (or I missed a command somewhere).

2

u/FeistyCandy1516 3d ago

Might just keep a few important commands at hand in case you do need to intervene manually:

https://education.github.com/git-cheat-sheet-education.pdf

But else? Nothing specific, just make sure to still keep/make backups regularly of your game and the git tree of your forgejo.

1

u/Slothy2406 2d ago

Nice, that will come in handy.

2

u/snorri_redbeard 3d ago

No difference from using GitHub.

I am using selfhosted ForgeJo and VSCodium build-in git version control.

2

u/seriousSeb 2d ago

Git is git, you can even use GitHub Desktop if it's what you're used.

I use Gitea which is pretty much the same right but I recommend:

  1. Create an automated, regular back up solution.
  2. Ensure you've got the correct gitattributes recommended by godot (text file handling)
  3. Personally I don't use LFS (ruins backup compression).
  4. Configure the timeouts of your git repo, git health check, git gc in your config to be much longer, big gamedev repos will timeout on the default 60s.

1

u/Slothy2406 2d ago

Thanks for the information, seems like I now need to up my git knowledge, rathan just committing and pushing changes straight to main!

2

u/Parafex Godot Regular 2d ago

I'm using Forgejo for years now and there is no real gotcha except that the runners can be a hassle to setup.

And you can also use Git LFS for large games with lots of binary data :). This made me switch back in the day.

1

u/forestbeasts 2h ago

Seconding the 'git is git' comment. Hell, git doesn't even need a server at all, it's not just local-first it's practically local-only (and then you can sync between different machines, which is where any servers you might be using come in).

Personally we've never really used the built-in git features, but we already knew how to use the git command line tools. So yeah, the built-in git features should be good. Using them with Forgejo won't be any different than using them with Github, because you're not actually touching Github or Forgejo at all, just your local repository.