this post was submitted on 03 Aug 2024
62 points (95.6% liked)

Selfhosted

40133 readers
579 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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.

Specs

Must have

  • hosted on promise
  • reliabile
  • unlikely to be discontinued in the next >5 years
  • for a group of at least 20 people

Plus

  • gui / windows integration
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 3 months ago* (last edited 3 months ago)

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.

[–] [email protected] 10 points 3 months ago (1 children)

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

[–] [email protected] 3 points 3 months ago (1 children)

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.

[–] [email protected] 2 points 3 months ago

Yeah their security track record as of late is pretty bad..

[–] [email protected] 2 points 3 months ago

Gitlab Community edition is what we use

[–] [email protected] 2 points 3 months ago

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.

[–] [email protected] 8 points 3 months ago (1 children)

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!

[–] [email protected] 1 points 3 months ago

I will look into it, thank you for that!

[–] [email protected] 3 points 3 months ago

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/

[–] [email protected] 9 points 3 months ago

GitLab CE self hosted

[–] [email protected] 21 points 3 months ago (3 children)

I’m aware this is the selfhost community, but for a company of 20 engineers, it is probably best to use something commercial in the cloud.

Biggest pain point was for our ops guy, who constantly had to stay behind to perform upgrades and maintenance, as they couldn’t do it during business hours when the engineers are working. With a team of at least 20, scheduling downtimes could get increasingly more difficult.

It also adds an entire system to be audited by the auditors.

The selfhost vs buy commercial kind of bounces back and forth. For smaller teams, less than 5 to 10 engineers, it might be a fun endeavour; but from that point on, until you get to mega corp scale with dedicated ops department maintaining your entire infrastructure, it is probably more effective to just pay for a solution from a major vendor in the cloud instead.

[–] [email protected] 5 points 3 months ago (1 children)

Biggest pain point was for our ops guy, who constantly had to stay behind to perform upgrades and maintenance,

This is weird.

Hosts selected for updates will be unavailable from 2100-2110 or so. Then they're up.

They're done by at/cron if they're selected.

There's no manual work if the monitoring system thinks they're okay.

Gitlab-ce on-prem. Although that may now suck since they're being bought out; and we all know how that went for redhat.

[–] [email protected] 1 points 3 months ago* (last edited 3 months ago)

That really depends on who buys them. If it's something like Datadog, maybe that's a good thing and they can compete with Github better. It's probably not great for self-hosters, but it could be a great thing for the commercial software ecosystem.

[–] [email protected] 5 points 3 months ago (3 children)

Nope. Hosting in the cloud isn't possible due to legal reasons.

I don't think that downtimes area serious issue for us.

[–] [email protected] 2 points 3 months ago* (last edited 3 months ago)

We have similar (legal is paranoid about our competitors getting our algorithms), so we just put our self-hosted cloud stuff behind our VPN. Nothing we run is on-prem, but almost everything is in our cloud infra.

[–] [email protected] 2 points 3 months ago

In our case cloud is fine, as long as it’s within our security boundary- so that means external SaS is out, but hosted within our cloud is fine. I’m still not super excited about the prospect of managing and maintaining it though :/ We're going down this path because AWS is killing code commit and other pipeline stuff, which sucks because even though other tools are better, code commit was fedRamped and from the same vendor.

[–] [email protected] 5 points 3 months ago (1 children)

Must be very unique sector. Good luck with your explorations!

[–] [email protected] 1 points 3 months ago

It is :) thanks!

[–] [email protected] 12 points 3 months ago (1 children)

Git should be able to go down during the day. Worst case you just can't push to origin for a little while. You can still work and commit locally.

[–] [email protected] 4 points 3 months ago (1 children)

No PRs means no automated tests/CI/CD, which means you’d slow down the release train. It might typically be just a 2 minutes quick cycle, but that one time it goes off for longer due to a botched update from upstream means you’re never going to do that again during business hours.

[–] [email protected] 3 points 3 months ago

Eh, we've had our self-hosted Github go down for a couple hours in the daytime, and it wasn't a big deal. We have something like 60 engineers spread out across the globe, about 15-20 that were directly impacted by the outage (the rest were in different timezones). Yeah, it was annoying, but each engineer only creates like 1 or 2 PRs in a given day, so they posted their PRs after the outage was resolved while working on something else. Yeah, PRs were delayed by a couple hours, but the actual flow of work didn't change, we just had more stuff get posted all at once after the problems resolved.

In fact, Github would have to be out for 2 days straight before we start actually impacting delivery. An hour or two here and there really isn't an issue, especially if the team has advance notice (most of the hit to productivity is everyone trying to troubleshoot at the same time (is it my VPN? Did wifi die? Etc).

[–] [email protected] 30 points 3 months ago (1 children)
[–] [email protected] 0 points 3 months ago

Maybe consider https://fossil-scm.org/home/doc/trunk/www/index.wiki I haven't had a chance to use it myself, but I am intrigued.

[–] [email protected] 6 points 3 months ago (2 children)

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.

[–] [email protected] 5 points 3 months ago

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.

[–] [email protected] 3 points 3 months ago (1 children)

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.

[–] [email protected] 6 points 3 months ago* (last edited 3 months ago) (2 children)

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.

[–] [email protected] 3 points 3 months ago (1 children)

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.

[–] [email protected] 2 points 3 months ago

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.

[–] [email protected] 1 points 3 months ago

Thanks for the sum up

[–] [email protected] 3 points 3 months ago

Gitea or forgejo, for hosting your repo and managing access rights. WoodpeckerCI when you eventually need a CI/CD. (Is a fork of DroneCI and integrates nicely with gitea.)

[–] [email protected] 10 points 3 months ago

I would go with Gitea or Forgejo (not sure how this is going to last) if you need a complete experience like a WebUI, issues, PR, roles and whatnot.

If you're looking for just a git server then gitolite is very good and solid option. The cool thing about this one is that you create your repositories and add users using a repository inside the thing itself :).

Then you can use any Windows GUI you would like like Fork, SourceTree, your IDE etc...

[–] [email protected] 3 points 3 months ago

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.

[–] [email protected] 4 points 3 months ago

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

  • Projects segregated into teams, organized by client (so only those working on a specific client's projects have access to their repos).
  • Able to invite clients and put them into the team for their project (we've had a couple clients that want that).
  • Able to automate deployments with webhooks (this was pretty easy to get working).

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!"

load more comments
view more: next ›