8 ms·
Gitea – Alternative to GitLab and GitHub
- ainiriand 8y agoIt is an awesome product, I really want to try it a bit more at home later in the evening. Don't you think it could be a good idea that considering it is to self host git projects, to self host your own project? I mean, why don't you use your own product?
- zaarn 8y agoIt's probably a cost question, to my knowledge gitea.io is a github pages website. The only running cost is really the domain. Running the git service is probably a bit expensive and you loose the network effect of github. They could probably migrate to gitlab though.
- spacebearmakes 8y agogitea.io is run on Digital ocean. You can see the expenses here: https://opencollective.com/gitea https://opencollective.com/gitea
- yorwba 8y agoThey don't use it because it doesn't have all the features yet: https://github.com/go-gitea/gitea/issues/1029 https://github.com/go-gitea/gitea/issues/1029
- apeacox 8y agoI'm hosting Gitea on a $5/month DigitalOcean box, I had to setup disk snaposhots and db backups for security. It's running since a year, never had a problem with it. It only consumes 20MB of RAM and is extremely fast. Easy to deploy (I've used ansible)
- Narann 8y ago> Gitea is a community managed fork of Gogs Why fork the project instead of keeping a single one ?
- nsomaru 8y agoThere was an issue with the Gogs maintainer going AWOL for long periods of time. An earlier fork was merged back in when he returned, but a subsequent incident resulted in a permanent fork. Also there were some governance issues IIRC.
- partycoder 8y agoThis is the announcement of Gitea, which is a fork of Gogs. https://blog.gitea.io/2016/12/welcome-to-gitea/ https://blog.gitea.io/2016/12/welcome-to-gitea/ "We’re a growing group of former Gogs users and contributors who found the single-maintainer management model of Gogs frustrating and thus decided to make an effort to build a more open and faster development model." This is a guide to run it with Docker https://docs.gitea.io/en-us/install-with-docker/ https://docs.gitea.io/en-us/install-with-docker/
- PaulRobinson 8y agoEntertainingly the code is hosted on github. :-) I'd have more confidence in it if it could self-host and I was able to see gitea inside of a gitea instance and that was the main workflow. Like this, it feels like maintainers aren't prepared to eat their own dog food just yet. That's fine, but I'll take a pass until that's fixed.
- giancarlostoro 8y agoWell it had to start out somehow. The original project started off on GitHub so it just kinda stayed there. It does cost money to host these type of applications and its easier to have contributions on GitHub since it doesn't require most people to register a new account. It certainly has trade offs for sure.
- majewsky 8y ago> It does cost money to host these type of applications I'm hosting Gitea (together with around 10 other services) on a 1/1 instance (1 CPU, 1 GB RAM) at Hetzner. Those can be had for € 2,50 per month. > its easier to have contributions on GitHub since it doesn't require most people to register a new account That's the big issue.
- weavie 8y agoHow do you find the performance compared to Github?
- olavgg 8y agoI think that backend is really fast, but I believe that is because when I self host it is on a local server with extremely low latency. The UI is somewhat slower though, code highlightning show up a second after page render.
- giancarlostoro 8y ago> I'm hosting Gitea (together with around 10 other services) on a 1/1 instance (1 CPU, 1 GB RAM) at Hetzner. Those can be had for € 2,50 per month. But can the Gitea devs scale it to support potential growth that costs beyond $10 a month? This is the reality too.
- sshagent 8y agoWhat i like about the landing page is all the info is there. I don't have to scroll down through whole screens at a time for each titbit of info
- g105b 8y agoI was about to comment the exact same thing. Excellent seeing this kind of marketing page in a world full of noise.
- ofrzeta 8y agoGogs, the project Gitea has been forked off, works just as well. As far as I can see there's no technical reason to prefer the fork over the original. Judging from Github stars, Gogs is also vastly more popular.
- oxymoron 8y agoI compared them yesterday. There seems to be more development activity and more contributors for Gitea (check the pulse tool on github for the last month). I haven’t got a stake in this whatsoever, but I recall the rationale for the fork being that PR’s would remain unmerged for months without comment due to the inactivity of the original author, who nevertheless wanted to retain control?
- kerneldeveloper 8y agoGogs has many issues that no one want to fix.
- partycoder 8y agoFind the 7 differences... - https://github.com/go-gitea/gitea/commits/master https://github.com/go-gitea/gitea/commits/master - https://github.com/gogs/gogs/commits/master https://github.com/gogs/gogs/commits/master gogs is mostly maintained by a single developer, and has less activity than gitea.
- sillysaurus3 8y agoA frantic commit free for all isn't necessarily better. I count nine different developers committing to the project's master branch in a single day. That has tradeoffs too.
- mariusmg 8y agoComparing commits is mostly pointless anyway. Some people commit very often any little change (like some indentation change) while others commit only when a feature is done. Compare releases and features.
- sago 8y agoGit is a distributed version control system. Every repo can be the master repo. 'Master' is purely a function of convention. It is worth stressing that you need no software to 'host' git. Every git repository is 'self hosting', by design. Tools like this primarily provide a web client to a repository not intended as a working copy, with some optional non-git code collaboration tools, such as issues, and an inbox of pull requests (i.e. suggested patches). These are not unique tools, there are many options for issue tracking and email. I make this point because these solutions are trying to replicate smaller or larger chunks of github rather than provide alternative ways to use git. That said, Gita/Gogs is pretty. And might hold the hand of people only used to github. It is great that it is self-contained as a binary, so can be used with minimal configuration, like other front-ends. But I worry that the emphasis on tools like this suggest we have accepted that github-flavoured centralised version control ('gitversion', maybe, or 'gcs'), rather than git, is now the de facto standard for version control. Am I paranoid? Does it even matter?
- maconic 8y agoIndependent of Gitea (which I have nothing to do with nor have any relationship with anyone involved). Your comment "It is worth stressing that you need no software to 'host' git. Every git repository is 'self hosting', by design." worries me. Yes, technically accurate, just as notepad, webstorm, atom, vi, emacs, etc. also don't need any 'host'. If you aren't working with multiple authors, a local laptop with git plus perhaps a USB flash drive for backup is all you need. But if you plan to actually have a project that multiple people will work on, it must be hosted whether it is technically required or not IMHO :) Let's say there is no Github or Gitlab type solution... how do you send me a pull request? How do I clone your git repo? In reality, there is always a hosted repo. If you want to open your firewall and share your public IP address so that you are the "hosted" solution that I push commits to or send pull requests to then fine :) But there is always a hosted solution if there are at least two people working on the same project... whether that's gmail.com hosting your emailed zip attachments, or you opening your firewall on your laptop so other people can connect to it, etc.
- adrianN 8y ago
- viach 8y agoWhy it's considered to be an alternative? Github is all about social networking for developers, not code hosting, or am I wrong?
- saltedmd5 8y agoYou are wrong. GitHub is a hosting platform for git repositories, which has collaboration tools (such as issue tracking and code review) built into it.
- viach 8y agoTrue, indeed it has all the features you mentioned. But do you think people stick to GitHub because these features are so hard to replicate?
- criddell 8y agoI'd be interested to see some numbers about projects that actually leave Github. Other than FUD about the Microsoft acquisition, has something changed on Github that is making people talk about leaving? Why run away before there's a concrete reason?
- viach 8y agoI don't have numbers, but my opinion is that the serious big/popular projects with some user base (contributors) will not bother, at least yet.
- francis-io 8y agoDoes Gitea still not have a good mechanism for backup and restore? I wanted to move away from Gogs but this is a show stopper for me.
- marcelc63 8y agoI stop at self-hosting
- stockkid 8y agoI'd be more convinced to give it a try if Gitea's repository itself was hosted on Gitea rather than on GitHub.
- spacebearmakes 8y agoThe project is working on that, see this issue for status: https://github.com/go-gitea/gitea/issues/1029 https://github.com/go-gitea/gitea/issues/1029
- SuperNinKenDo 8y agoLooks great, but the fact they won't dogfood means I'm gonna stay away for now. Definitely have my eye on this as an option though.
- jmstfv 8y agoIs there a hosted version of Gitea? Would it be possible to host it and offer unlimited repos for let's say $5/mo as a service?
- falsedan 8y ago> unlimited repos for $5/month Plus storage, sure
- huntie 8y agoI don't know about Gitea specifically, but notabug.org uses Gogs which Gitea is a fork of.
- spacebearmakes 8y agoI offer Gitea hosting. Storage is the most costly part of it.
- huntie 8y agoSomewhat related, I've been thinking of how to speed up git on hosts with limited resources. As an example, the firefox repo has a 275MB index file which has to be loaded whenever you want to read the repository. On a host with 1GB of ram this doesn't work so well. I think that storing repositories in loose format would make them much faster to read, but maybe I'm missing something. Any thoughts?
- tome 8y agoWhat operations do you want to do? Have you considered a shallow clone?
- huntie 8y agoI forgot to mention that I'm thinking about it from the perspective of a server like Gitea. So I want to retrive objects like commits and blobs from the repository.
- falsedan 8y agoThe index is just a cache of the metadata of files in the working directory; changing how the objects in the repo are stored won't speed up a 'git status'. When you say 'read the repo', it makes me think you're more interested in the behaviour of cloning from a remote. Loose objects would avoid the need to inspect packfiles, but… that code's all written in C and mmaps the contents & does fast seeks. Most likely the slow parts are reconstituting objects from packs (also mmapped C with fast seeks) or delta-compressing objects for git-upload-pack to send to clients. Going to loose objects doesn't help if the remote still burns CPU creating a pack: try using a dumb remote instead of a smart one? You're trading CPU for network now. If you're more interested in improving performance in a clone: loose objects avoids the need to (fast mmapped C) read a packfile. The index still has to track if you've changed any checked-out file in the working directory, and if there are a lot of files, it's going to be big.
- huntie 8y agoI was thinking about this from the perspective of a server like Gitea. What I meant by 'read the repo' is retrieve objects like commits to display them to the user. So on the server you should only ever have packfiles, and in order to efficiently read packfiles you read the index (idx) file. I'm not positive, but I think that this file needs to be read in its entirety in order to access an object. Even if you don't have to read the whole file, it's probably best because you generally read more than one object at a time (e.g. if you display a list of files in HEAD you read the commit pointed to by HEAD, read its tree, and read all of the blobs in its tree). My thought with using loose files rather than packfiles is that you wouldn't suffer the memory overhead of lookup, you just open the file at `objects/some/object` and parse it. The real solution here is probably to get a server with more RAM and cache repositories. I'd be interested to hear what GitHub does.
- virgilp 8y ago> Open Source: It’s all on GitHub! There's some level of irony in a GitHub alternative that's hosted on GitHub.
- axifive 8y agoGitLab was initially hosted on github too
- spacebearmakes 8y agoIt is currently something that is being worked on. See this issue for status: https://github.com/go-gitea/gitea/issues/1029 https://github.com/go-gitea/gitea/issues/1029 Self-hosting also takes resources such as time and money, and not all open source projects have the latter.
- reacharavindh 8y agoI have always seen GitHub as the social Git. Of course I use Gitea for personal & private projects, but if you want visibility and gain from network effect, GitHub is where you needed to be. With this MS acquisition, that proposition is starting to become a problem and an uncool dependancy on MS.
- spacebearmakes 8y agoGitea is working on federation, so lock-in wouldn't be a problem
- biztos 8y agoI wonder whether the user-friendly features of sites/services like GitHub might eventually be displaced by feature-rich git clients like Tower[0]. There are still plenty of things you might want centralized on a server somewhere, but it seems like a lot of the value add of GitHub, GitLab, and now Gitea is in making git repos easier to manage and interact with. It's interesting to think about how far you could decentralize that, ideally with a "cambrian explosion"[1] of OSS and indie-software clients. [0]: https://www.git-tower.com/ https://www.git-tower.com/ [1]: https://en.wikipedia.org/wiki/Cambrian_explosion https://en.wikipedia.org/wiki/Cambrian_explosion
- patkai 8y agoJust wondering if it's time to start to decouple the client and the server. I did that with mail and use a native client only, and hosting a git repo on DO or similar should not be too big of an issue either.
- falsedan 8y agoFor a solo dev, running a remote is a great idea and way cheaper than paying for GH private repos. You're giving up some availability and disaster recovery, but as a solo dev those aren't big problems (spin up a new host, configure your SSH keys, push). I did this years ago! When the remote is shared (with other devs or tools), then you have the hassle of provisioning accounts, updating keys when they get lost, implementing ACLs, setting them, recording who changes what refs for audit trails, availability/backups becomes an actual problem, managing disk space + garbage collection, etc. The time you spend on those interruptsion is time (and concentration) that you're not spending on what you want to do. That's where the value proposition of GitHub comes in… GitHub then has the value-adds/lock-in of easy webhook integrations, gh-pages branch, issues, wiki, and the web UI. If all you want is somewhere to push code that's always available & private to you, then I'd look into using some could-based object store to host your repo. If you want to share the repo with other devs/tools… let me know where to find 99 other people willing to spend $5/month on this kind of thing.
- spacebearmakes 8y agoGitea is working on federation so there wouldn't be lock-in.
- tscolari 8y agolol microsoft just announced it's going to buy GH and GH is already down :p
- fuzzy2 8y agoNotable previous discussions: - https://news.ycombinator.com/item?id=17006503 https://news.ycombinator.com/item?id=17006503 (has a lot on why it was forked from Gogs and whether using the fork is still a good idea) - https://news.ycombinator.com/item?id=13451783 https://news.ycombinator.com/item?id=13451783 - https://news.ycombinator.com/item?id=13296717 https://news.ycombinator.com/item?id=13296717
- ChankeyPathak 8y agoHN discussion on available alternatives to GitHub. https://news.ycombinator.com/item?id=17241487 https://news.ycombinator.com/item?id=17241487