We are changing our system. We settled on git (but are open for alternatives) as long as we can selfhost it on our own machines.
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!
I’ll come out with an anti-recommendation: Don’t do GitLab.
They used to be quite good, but lately (as in the past two years or so) they’ve been putting things behind a licensing paywall.
Now if your company wants to pay for GitLab, then maybe consider it? But I’d probably look at some of the other options people have mentioned in this thread.
The company behind GitLab is seeking buyout offers, so make of that what you will.
My employer uses GitLab CE and it’s pretty good, and it is FOSS. The EE version is “open core” so not really FOSS.
If I were starting from scratch I’d be looking into Gitea/Forgejo as well.
I’m all for foss but foss shall not be a reason to stay behind. We’ve got enough money to pay for it. We just can’t host it anywhere. We have to selfhost it. If there’s a good reason to use gitlab over forgejo, we will use gitlab.
Gitlab’s main advantage is the tight integration with CI/CD and a web based IDE. But it has some annoying limitations in the non-enterprise version.
Forgejo is great, but it comes with only community support.
You can get commercial support from the Gitea project (from which Forgejo forked off), but if that is something important for you, Gitlab has probably also better commercial support structures in place.
Money is not an issue. We’re happy to pay for everything. I’ll talk to the others in the next round to get to a conclusion.
Yeah, for the integrated CI/CD, give GitLab a shot - it saves on spinning up a Jenkins or ConcourseCI server.
CI/CD can be useful for triggering automation after merge requests are approved, building infrastructure from code, etc.
Thanks for the sum up
We’re also using Forgejo for a small consulting team working on lots of different projects for a lot of different clients.
A couple of our team members who came from a more complex and scaled environment (particularly our DevOps / SRE guy who’s worked at such places as LinkedIn and Snowflake) want to move us to Gitlab because it’s “more powerful” but I like Forgejo because it’s just super simple. Just does exactly what I need, doesn’t give me to many more options.
We have
One of our devs wanted to use Actions. It’s hard to get that working and (at least a month ago) there were warnings that Actons aren’t mature yet and are probably insecure (looks like that may have changed with the recent jump to Forgejo 8.0). I think it’s now a non issue for us though because we were like “Dude, stop trying to role your own CI/CD, that’s why we have two infrastructure people!”
I’m currently looking at onedev.io for personal and startup use but since I haven’t had an opportunity to test it out yet I can’t vouch for it. It looks cool though and seems to have a good rep.
If money isn’t a problem then gitlab is your best choice.
It’s the most mature of the options you have available to you.
I use gitlab for airgapped networks
I would use Gitlab only in an airgapped network. Password resets sent to attacker-supplied emails is such a complete failure of a security model it seems like it is only a matter of time until the next critical vulnerability.
Yeah their security track record as of late is pretty bad…
Gitlab Community edition is what we use
If you want the full fancy GitHub, they have an on-prem enterprise edition for $21/user/month. https://github.com/pricing
But if you don’t need all their bells and whistles, or the team doesn’t care about not having the GitHub interface, then the other suggestions are better.
For the server I’ve used gogs for many years. It was easy to set up and has a web interface. What client you use is really up to you with git.
https://gogs.io/
At work we selfhost gitlab (paid) and I’m checking gitea for my own projects. They have a good comparison table at https://docs.gitea.com/installation/comparison
Do you also need CI/CD?
Is there a reason to choose gitlab over gitea?
We do not need ci/cd
If you don’t need CI/CD I’m not sure why you need a centralized frontend at all. Git itself is distributed and you can setup any code flow you can think of. It has hooks that can be used to set up code quality checks on select branches. There are local history browser apps for every platform and IDE plugins.
A frontend is no substitute for developer communication — usually what the “PR” thing does is sugarcoat the fact the devs don’t know how to use Git and/or don’t talk to each other.
If you don’t need CI/CD I don’t see any reasons to choose Gitlab over gitea. But I’m still testing gitea so take my words with a grain of salt :)
Gitea also has excellent CI support with builtin compatibility with github
Also working in a small team with Gitea. Pretty solid the last few years.
Same. Really happy with it.
TBH have you tried just basic git? There’s a web interface built into git itself and you can use ssh for your repositories. It’s simple and just works. If you need a faster web interface there’s also cgit. There’s no bells and whistles either. Just configure ssh, drop your repos in /srv and get to work.
If you need more that just standard basic git the. The other suggestions here are great especially forgjo!
I will look into it, thank you for that!
As you look through these recommendations, keep in mind that source code storage will become in-scope for PCI DSS certification in the very near future.
Define, what does “git” mean to you?
The core git is a peer to peer system. You don’t need any server at all. It runs on all of your dev’s workstations anyway.
If you want a webserver with gitlab etc. on top of it, then that determines most your needs. In addition, a properly set up nameserver is very helpful, and maybe you want even an Active Directory?
We are looking for a versioning system for collaborated work. Each person shall have his own version with a central main version. Being able to commit, push and restore versions.
Thx for asking, we have a nameserver and active directory. We move this system from team foundation server / azure devops server
GitLab CE self hosted
If you only need a bare minimum, and don’t plan to heavily use CI/CD, container/packages registries, integrations with other tools i would go with gitea/forgejo (you can always use external tools on top), else i would use selfhosted Gitlab, it has pretty much all the things you could imagine to need with software development and deployment
+1 for Gitlab. As the number of developers increases the features of Gitlab will get more and more important. Only OP can say, but if they’re closer to 9 developers than 2, I think it’s a safe bet they’ll need the extra features sooner rather than later.
https://forgejo.org/
deleted by creator
I can vouch for Forgejo
https://forgejo.org/
Easy to set up, has a website GUI like Github/GitLab you can use git GUIs with it
https://codeberg.org runs on Forgejo
I’ve been looking at gitea because of its gitops capabilities that seem to be pretty much on par with github actions. Do you know if forgejo has something similar? There seems to be a lack of documentation in that area. This has been my only reason for not moving to forgejo but im hoping im wrong and just missed some documentation.
EDIT: Thank you all who provided some additional insights that I was missing. I’ll take the leap and give forgejo a try!
There are forejo runners and they seem compatible with a bunch of github actions. I created one that builds a docker image and publishes it on the repo.
Forgejo actions is basically GitHub actions. The difference in my ci scripts is a single line and you can even use GitHub action templates or whatever they’re called.
You just need to add some runners to your server, which is pretty easily doable by just using some docker container and deploying that multiple times
That’s the problem. GH actions su-huck.
In what way? Works for me
Forgejo is a fork of gitea, and it only became a hard fork earlier this year, so if gitea does something, forgejo probably does it as well.
Thank you! That would be my go to for my own projects as well. As far as I know they don’t want company sponsorship. I am unsure about sustainability
In what regard?
That the project will be developed in a year or two
Maybe check how long it is already going, so it can give you some confidence. Forgejo is a fork of gitea, which is a fork of gogs.
Also, codeberg, a nonprofit from Germany, is supporting development.
https://docs.codeberg.org/getting-started/what-is-codeberg/
Forgejo is leading the federated git initiative
Just to give credit where credit is due, git federation is a Forgefed Initiative
Forgejo is implementing it in their platform.
Sure, they are the same people
Any evidence of that? Genuinely curious as I can’t really find anything about them being by the same people and forgefed started as mailed-based prior to forgejo existing.
edit: seems like they are funded by different organizations and the main contributors to forgefed never worked on forgejo, they worked on vervis though.
I believe it was this issue that made me think this way