I’m looking to self-host a GitHub alt on a cheap Linux VPS for personal use. Any rec?
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:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
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.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Here’s another plug for gitea. It’s lightweight, but still has a nice feature set.
I tried hosting GitLab a number of years back, but it was more resource hungry than my host machine could handle well.
What about gitlab? Isn’t that the same as GitHub? If not I’ll need to see how they are different.
Gitlab isn’t really lightweight. It is cool, but not lightweight.
Ahh ok, I know the other team deployed it in our openshift environment so wasn’t sure.
Yeah. It needs 3gb ram, now. That’s about 1/10th what a Windows VM needs to boot, seemingly, but still large.
I haven’t installed it yet, but I’m going to try out Gitness for this: https://docs.gitness.com/
I have now installed it and I like it.
if their service runs as poorly as their website I’ll give that a pass
If you don’t need the web interface and just want a feature rich git server I recommend Soft Serve. It has a really cool ssh TUI as well.
This is cool!
I use gitea, it works fine.
If you just want a remote to push your code to without issues, projects, pull requests and such you can use git only: https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
This is actually a good idea! No need to over engineer stuff 😅
Yup K.I.S.S
@khoi@slrpnk.net if you’re okay with that I suggest you check out this https://gitolite.com/gitolite/overview.html.
In short “Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features.”. It doesn’t require some background daemon running, uses the server’s SSH and it is a simple script that deals with access control so you can easily manage your users and repositories. The “cherry on top” is that you control your git “server” using a git repository :P
Gitea.
Isn’t this a spin-off of gogs?
I still need to convert.
Skip it and go right to forgejo : it’s the current tip of the iceberg.
Maybe, depends on the migration path. Gitea proved impossible to migrate to.
Could you not just push a git repo?
It was even easier. I’m over on forgejo, works.
Sure, but then I’d have to remove gogs 1st after exporting everything. It’s not a lot of data, but loads of repos. For me there was no reason to migrate (yet).
The majority of maintainers stayed with Gitea. Forgejo is not the tip, they still pull the majority of their commit from gitea directly.
Apparently. When I wound up choosing Gitea for my own purposes, I don’t recall even learning about Gogs somehow.
I picked gogs before I knew about the gitea fork. (Maybe even before the fork)
If you don’t need the web gui stuff (and you shouldn’t for personal use) you can set up a git server using gitolite. Very easy to manage
And if you really want even more barebones, you can just do
git init --bare
into a directory on your VPS, and thengit clone user@your.ip.here:path/to/the/directory
and use git as you would normally!Nonsense. I like to see how my CI is going.
Most of the Web GUIs are designed for interaction/collaboration between multiple people, and are massive overkill for one person. Tools like gitk/git gui are more than enough to see what’s going on graphically.
If you want to install all the other stuff, that’s completely up to you, but a lot of people don’t seem to realise that the Web GUI stuff and command line are completely separate things, and you don’t have to install both of them.
Gitlab at least used to be the open source release of GitHub. I ran it in my lab for a while but stopped as I was using github anyway. It was easy to setup and maintain but it used a lot of resources. I ran it on a vm, there is likely a docker build as well.
GitLab and GitHub were always developed separately by completely different people and have never shared code.
Stagit and cgit, just the very best! If you want a github like UI, there is Gogs.
i run forgejo on my shitty vps and for the amount of features it has it is surprisingly lightweight, i love it so much
Strong recommend for Forgejo. It’s a community fork of gitea that’s actively maintained by the community and a great open source nonprofit.
It’s actually a drop in replacement for gitea if you are using that now.
Super lightweight. Super snappy, and it supports GitHub Actions style CI/CD.
Big +1 for Forgejo, also they are actively working on implementing Federation, i.e. in the future Forgejo servers will be able to exchange information as a federated network, just like good old Lemmy 😊 If you want to try the toolchain (Forgejo+Woodpecker CI), it’s what Codeberg.org (run by the German nonprofit organization of the same name) offers freely.
what’s the benefits of being federated for code?
This will allow you to browse & contribute to projects hosted on other instances without having an account there. Imagine using the GitHub search to find a project on Gitlab, then opening an issue there without ever even leaving GitHub. The protocol is called ForgeFed.
The actions are amazing, and I was also able to integrate them with tailscale so I can build and deploy everything within my network automatically.
I run it in a vps with 1cpu and 2gb ram along several other services.
Gogs and Gitea are very similiar, Gitea is a fork of Gogs with a bit more features as I understand it.
However when I tried to get Gitea working personally a year and a half ago, it had some rough issues with redirect looping onto itself infinitely, could never get it to work.
On the other hand Gogs didn’t have this issue, and was much more painless to stand up, so it’s what I use now.
Used gogs, it was… fine. Made the jump to Gitea and it’s just amazing. Not that it does anything really different, but you can tell it’s much more polished. Gogs just felt like a CS student’s final project, Gitea is something I could use at work.
They genuinely looked identical to me.
Either way, gogs dies what I need it to, git server for backing up my code and super basic git web Hooks to trigger my build server.
Couldn’t ask for anything more.
I setup Gogs once like 6 years ago or something lol, I remember it being pretty easy and it is nice. Although if Gitea is more actively maintained then it’s probably worth giving that a shot first.
I’ve spun up Gitea in my homelab as well as at work and don’t recall being difficult so perhaps they fixed whatever was causing your issue
For personal use https://forgejo.org/ or https://gogs.io/ should be enough
I recommend against gogs. It’s missing lots of features that I expected and I ended up switching to gitea anyways. Gitea works well for everything I need and forgejo is a fork of gitea that I might switch to in the future.
I came here to say this
Forgejo is my go to, I ran it in a GCP micro instance, which has 768 MB ram and a piddling processor. One of my friends works for a company that had all their devs run a local instance in addition to the main repo, it was that light.
Gitea is the former go to, but gitea was hijacked and stolen from the community by a for profit company. Forgejo is currently a drop in replacement fork, but with added privacy features, future federation options, and a reputable parent organization.
Heard lots of good things about Forgejo!