5 ms·
Between Gitlab,Gitea and bare-git repos, which one should I use for personal (1-man) projects? Here are my thoughts: Gitlab is resource-hungry but provides CI
by ducktective 6y ago
Between Gitlab,Gitea and bare-git repos, which one should I use for personal (1-man) projects? Here are my thoughts:
Gitlab is resource-hungry but provides CI solutions and is kind of a setup-once-then-forget solution.
Gitea is light weight but for any additional functionality third-party utilities are needed.
- richardwhiuk 6y agoIMHO, just use GitLab.com or GitHub.com's personal private repos options.
- cmckn 6y agoAgreed; I have pretty limited time to spend on personal projects, so I try to minimize the amount of "infra" I have to maintain. I'm an activist about some things, but running my own git remotes and CI isn't one of them.
- Aeolun 6y agoRunning my own git remotes and infra is my personal project ;)
- cmckn 6y agoGodspeed! I tried deploying gitlab on my k8s cluster at home and ran screaming after an hour or so haha
- Aeolun 6y agoAh, yeah. I can’t be bothered with that either. I just run omnibus on a completely separate VM.
- joshlambert 6y ago@cmckn - PM @ GitLab here - sorry to hear you had a poor experience with running our GitLab chart on k8s. We've been trying really hard to make this easier, but there is still some room to go especially on the documentation front: https://gitlab.com/groups/gitlab-org/-/epics/5273 https://gitlab.com/groups/gitlab-org/-/epics/5273. I'd love to hear what you had trouble with, so we can continue to improve. If you'd like, can also open an issue here: https://gitlab.com/gitlab-org/charts/gitlab/-/issues https://gitlab.com/gitlab-org/charts/gitlab/-/issues
- kevincox 6y agoAs I see it: GitLab has CI and a whole host of other features (artifact repositories, pages, ...) Gittea is a nice WebUI for viewing source files with simple issue and patch management. bare-git is fine if you don't need any web presence.
- qbasic_forever 6y agoGitea is a lot more than just a web UI. It's a whole multi-tenant platform if you need--it can act as an OAuth2 provider and drive SSO, login, etc. for all kinds of other apps or services. You could even have gitea used as a login/auth for a kubernetes cluster (with dex). It's like gitlab but way less documentation and slightly less polish.
- bsder 6y ago> it can act as an OAuth2 provider and drive SSO, login, etc. for all kinds of other apps or services. Can I get a link to documentation/discussion on that?
- qbasic_forever 6y agoOAuth2 provider config: https://docs.gitea.io/en-us/oauth2-provider/ https://docs.gitea.io/en-us/oauth2-provider/ For dex (k8s auth), specifically: https://dexidp.io/docs/connectors/gitea/ https://dexidp.io/docs/connectors/gitea/ Hooking it up to do SSO for other OAuth/OIDC apps is pretty similar. For something that doesn't do OAuth you could use vouch proxy in front of it and get SSO: https://github.com/vouch/vouch-proxy/issues/203 https://github.com/vouch/vouch-proxy/issues/203 It's really slick and fun to throw gitea on a cheap VPS, then a few apps like drone CI, a k3s kubernetes cluster, etc. and have it all just interoperate and auth together seamlessly. I won't lie though it's an enormous amount of annoying and badly documented work to get it all together.
- cat199 6y ago> bare-git is fine if you don't need any web presence. cgit or gitweb can be nice additions to bare git for simple repository browsing without the full 'project managment' aspects that gitlab/gitea/redmine etc. add
- kipari 6y agoI started out using Gitlab for my personal repos, but have switched to using bare Git repos on a VPS for the last few years. If you won't be collaborating with anyone else, nothing beats being able to just write: ssh $HOST git init --bare repo/foo git remote add origin $HOST:repo/foo
- cat199 6y agoto note, gitolite provides a very simple addition to the 'simple git server over ssh' scenario without much hassle, might be worth looking into for this use case
- kingosticks 6y agoIf it's just you using it, what additions does gitolite bring (genuine question)?
- cat199 6y agogood point on individual users - using the multiuser support for automation sub-accounts ("service accounts") would be one thing; general 'separation of concerns' for higher security isolation (gitolite runs under a separate SSH account that can only run gitolite), has some hooks for offering read-only pull support using the git protocol pretty transparently. but yes, i suppose pure single user it's not the hugest advantage.
- jayd16 6y agoWhy would I tune for git init?
- deleted 6y ago[deleted]
- qbasic_forever 6y agobare repo synced up to S3 is my vote, with end to end encryption enabled. Why give some third party access to your data if you don't need to?
- xtracto 6y agoS3 is a 3rd party for most people.
- qbasic_forever 6y agoYes, hence the end to end encryption: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingC... Once enabled as far as amazon is concerned your bucket is an entirely random bag of bits, they have no idea what's inside or how to access it. Even if compelled by a state government amazon can't give up your data in any usable form without your encryption keys.
- MaxBarraclough 6y agoAnother option might be SourceHut, although it's officially still in alpha. https://sourcehut.org/ https://sourcehut.org/
- kstrauser 6y agoI've tried to like Sourcehut, but I just can't. While I know some people love the "pull requests by email" workflow, it adds so much more friction for me that I don't even want to see what else the site has to offer.
- blueflow 6y agoI'm leaving this here, no judgement, no further comment (ddevault is the CEO of sourcehut): https://news.ycombinator.com/threads?id=ddevault https://news.ycombinator.com/threads?id=ddevault
- hs86 6y agoThis very release features a new mode [0] with reduced memory consumption. It probably still gets undercut by Gogs/Gitea, but it may be enough to run GitLab on a cheaper VPS tier than before. [0] https://about.gitlab.com/releases/2021/02/22/gitlab-13-9-released/#reduced-puma-memory-consumption-on-small-instances https://about.gitlab.com/releases/2021/02/22/gitlab-13-9-rel...
- ksec 6y agoI think this is aiming at 2GB Memory Tier. For majority of VPS that means they could move from $20/month to $10/month. The problem is most popular Cloud/VPS ( DO, Linode, Vultr, UpCloud ) this tier gets you 1 vCPU only. Not sure how well this will work. Will have to test this. Or as others have mentioned, just use Gitlab.com
- kstrauser 6y agoHere's my decision tree: Do you actually need CI? That's not a trick question; I don't use it on any of my personal projects. If so, GitLab is quite nice. I absolutely love Gitea. If there's a nonzero chance I might ever want to rope in a friend on a personal project, Gitea makes it super easy to configure their permissions, let them open pull requests, etc. If I know I'm never going to involve someone else, and I won't need CI, then bare-git repos are brilliant. I use this for things like maintaining a version history of files in /etc on my servers.
- INTPenis 6y agoI don't have an answer for you but your question made me think; "why can't other gitlab alternatives use their gitlab runner?" That shouldn't be hard to do, make a gitea that can use gitlab runners, right? It must be an open protocol.
- salzig 6y agointeresting thought, isn't gitlab-ci-runner only pulling jobs to be executed and then pushes back logs? shouldn't be that hard to implement.
- INTPenis 6y agoExactly, it polls the Gitlab API for jobs, runs the jobs and sends back logs. Any gitlab alternative could implement this and make each other re-invent a lot less code, while implementing Gitlab-like CI.
- Aeolun 6y agoGitlab is not terribly resource hungry? And not very latency sensitive either, so you can put it wherever you get the cheapest/best hosting.
- PurpleFoxy 6y agoIt requires quite a lot of memory since it’s a massive rails app.