[HN Gopher] Gitea - a painless self-hosted Git service ___________________________________________________________________ Gitea - a painless self-hosted Git service Author : thunderbong Score : 273 points Date : 2022-06-05 08:03 UTC (14 hours ago) (HTM) web link (gitea.io) (TXT) w3m dump (gitea.io) | rapnie wrote: | Most exciting that they are working on federation support that'll | tie individual self-hosted servers together. | | https://nlnet.nl/project/Gitea/ | rapnie wrote: | Other projects mentioned are: | | https://forgeflux.org | | https://forgefriends.org | | https://forgefed.peers.community | synergy20 wrote: | been using it for 4+ years, no complains and it keeps getting | better. each upgrade is super simple: just stop the service, | replace that one single binary, and start the service. | bnajdecki wrote: | Using it for more than a year - It's an awesome project. Can | easily work on the cheapest DO VPS. | thealistra wrote: | The site tbh looks awfully similar to github. Can this be like a | reason for a lawsuit, if github had a bad day? | secwang wrote: | Fossil is better for small project | LinuxBender wrote: | Adding link [1] for reference. | | [1] - https://fossil-scm.org/home/doc/trunk/www/index.wiki | runeks wrote: | Why? | thunderbong wrote: | Single binary. Cross platform. Runs with it's own server with | web interface. Has issue tracking, wiki, chat. | | Happy user of fossil since over 10 years now, both in | individual projects and teams' projects. | | For me, unlike git, fossil just gets out of the way and let's | me focus on delivering. Doesn't have a whole bunch of arcane | commands. | | https://andreiclinciu.net/blog/why-im-using-fossil-scm- | inste... | StevePerkins wrote: | That's not a Git web interface, that's a completely different | source control system altogether! | | And from a quick bit of web searching, it looks like most IDE's | out there either lack a plugin for fossil, or else have a | plugin that's outdated and doesn't keep up with the current | version of the IDE. | | I realize that all of these "I Like X!" silly HN threads invite | a lot of "I Like Y!" silly replies, but there sure are a lot of | caveats on "better" here. You could make a much stronger case | for recommending Subversion or CVS, lol. | secwang wrote: | yes, thank you.But light and self Hosted version control,I | have to recommand fossil.Git is not gods,we can blame it and | recommand other more better software for special case. | rascul wrote: | How is it better? | thunderbong wrote: | Why You Should Use Fossil - https://fossil- | scm.org/home/doc/trunk/www/whyusefossil.wiki | holografix wrote: | I found the Auth bit a bit difficult to parse. I wanted to used | Firebase for it but didn't quite know how. How are people | handling user registration and SSO? | igtztorrero wrote: | I use GitLab CE since 2012, and checking | https://docs.gitea.io/en-us/comparison/ gitea vs gitlab the main | difference is: "Low resource usage (RAM/CPU)" | | I see why: Gitea is 75%-Golang, 13%-HandleBarsJs GitLab is | 85%-Ruby 12%-HTML | | Never have a problem with Gitlab, but is RUBY is slow and cpu | demand | | I will try it ! | jlturner wrote: | I've been running local Gitea for about 4 years. It works great, | no complaints here. I mirror my GitHub repos (and sensitive repos | I don't want to trust on GitHub) and back up the hard drives with | BackBlaze. | mac-chaffee wrote: | I've been happy with Gitea. It's very fast, and upgrades cannot | be simpler. Just download the new binary and start it. The | migrations run automatically. | | If you need a git hosting service but "hosting git" isn't your | day job, then the alternatives are way more complex than | necessary IMO. | bioemerl wrote: | It would be generally be a good idea to migrate away from this to | something else, I use gitbucket, and it works very well for me. | | Yes it is an open source project, but the entire team that works | on it is based out in China, and that's really not something you | want to play games with. | DethNinja wrote: | Do you got any proof about "entire team" being based in China? | | It looks like they got developers from bunch of other locations | at least according to their Github activity. | bioemerl wrote: | If it's the entire team or not doesn't really matter, what | matters is is that the locus of control, the people who | really own the project and commit most of the changes are all | based in China. | | But you are correct, they do get commits from outside of the | country | matsemann wrote: | In that vein, as a European I'm generally more afraid of US. | How they can force anyone to give up my secrets. Or the power | of Google, MS, Facebook to screw me over. | bioemerl wrote: | The alternative project I mentioned is actually mostly | developed by Japanese developers. | Zababa wrote: | Has there been any issues because of that, or is this just | speculation on your part? The codebase is open source so it's | not like they can hide anything. | roastedpeacock wrote: | I am no Sinophobe but I think the pragmatic concern is by | being under P.R.C jurisdiction 'certain parties' could either | force abandonment of the project by (some of) the original | team or compel certain code changes that may not be in the | users interest. | | No offense to anyone and do not want to imply anything | nefarious is about but from what I remember Gogs was even | worse in that only a single maintainer inside P.R.C had merge | access to the main branch. Also a concern because I might | remember something about known vulnerabilities having been | outstanding on the issue-tracker when the maintainer was | busy. | bioemerl wrote: | It's not so much about the issues, but the potential for | issues down the line. | | For tools like this the aim is always to lay low and expand | to reach as far as possible, then once you have a lot of | control and trust you can abuse it, often you can abuse it | without much loss, because once you have institutional | momentum it's very hard to screw it up. | | You can't operate on If there's a history of abuse of power, | only if there is an incentive. I believe there's a very | strong incentive in this case. | Zababa wrote: | I don't really see how can an open source project that you | can self host be abused. Do you have any example of that | happening? | bioemerl wrote: | All you need to do is sneak in something in an update | that gives people access to your server, or creates a | vulnerability that allows them to get access. | | The fact that itself hosted is actually a really huge | concern, because this thing is sitting on your local | network with no firewall between it and everything else | that you run. | | It takes very little to put a vulnerability in a piece of | code, and unless you have a person combing every commit | with a fine tooth comb, even the fact that it's open | source cannot prevent that. | | No single security measure is bulletproof. Being open | source does not counteract the misaligned incentives. | [deleted] | rascul wrote: | > Yes it is an open source project, but the entire team that | works on it is based out in China, and that's really not | something you want to play games with. | | Maybe you could expand on why this is an issue. | bioemerl wrote: | China is a country that has been well well known for theft of | intellectual property for a couple of decades now, and when | the majority of the people developing the project live inside | of the borders of China their state has an incredible ability | to control the direction of the project and sneak in bad | changes over time should they want to. | | The fact that it's open source helps a little bit, but I do | not believe they number of eyes on the project is enough that | they couldn't sneak something through if they wanted to. This | isn't Linux with worldwide attention, it's a relative niche. | nanomonkey wrote: | I've enjoyed using git-ssb | (https://scuttlebot.io/apis/community/git-ssb.html), which allows | me to save and share git repos using the scuttlebutt gossip | protocol. Makes for a nice decentralized solution where I can | back up between my machines, and those that I'm working on a | project with. | | The only problem that I've found is that my github repo now shows | very little activity which make job hunting harder. | jamal-kumar wrote: | I have some personal projects on my own public git server that | hardly anyone knows about but I still have a second remote for | that stuff which goes on my github for the jobs. | hericium wrote: | Is it possible to hide users listing[1] on Gitea via | configuration? | | On Gogs it's not configurable and to stop publishing names of all | users, including admin account username, it's necessary to either | close down the whole service (disable public view of all repos | and disable signup) or block certain addresses on proxy level. | | [1] https://gitea.com/explore/users | dancemethis wrote: | It's almost perfect. A small fork removing Discord things makes | it effectively so. | bdeshi wrote: | what discord things? | sli wrote: | It supports Discord webhooks[0]. | | [0]: https://github.com/go- | gitea/gitea/blob/main/services/webhook... | smcl wrote: | Is it possible to not use the Discord things? | roastedpeacock wrote: | No fan of Discord but from what I remember the functionality | is opt-in and if the webhook is not configured it does | nothing. | | Among all the possible things to get worked-up about this | seems like nothing (unless you are purist that considers | including optional functionality to interface with a | proprietary-service to be harmful). | waplot wrote: | They're just webhooks, not sure what the issue is (?) | xbeta wrote: | One of my previous companies use their self-hosted Gitea. That's | all good and stuff, but they don't have a dedicated DevOps | person, so we actually have to spend extra maintenance on it. | | Moreover, we were going through SOC-2 auditing at that time and | it is much easier to just store our source code in one of the | SaaS option like Github/GitLab/Bitbucket for our auditors to | check without having me to screenshot everything for them. | rascul wrote: | I find Gitea to be great. Also there is a curated list of awesome | projects related to Gitea: | | https://gitea.com/gitea/awesome-gitea | trentthethief wrote: | Cgit is even more light weight and secure. | LinuxBender wrote: | And it appears Arch has a nice document regarding the | installation [1] | | [1] - https://wiki.archlinux.org/title/cgit | russianxol wrote: | jamal-kumar wrote: | I'm a huge fan! Written by Jason Donenfeld and company so you | know it's solid code, too. | | https://git.zx2c4.com/cgit/about/ | chappi42 wrote: | FWIW I prefer gogs (from the original developer). | keb_ wrote: | Why do you prefer gogs? Never tried either, so curious. | chappi42 wrote: | In the beginning after the fork, gitea added features which I | didn't need. Nothing against gitea just thought I'd also | mention gogs, which hummed along here fine and if possible I | prefer the code from the original author. (Edit, mmh, not | always true, I use neovim...) | jamal-kumar wrote: | At a company I worked at, for security reasons we used gogs. | Boss didn't want some random NPM-downloaded javascript | anywhere near our source code, which was something which | handled enormous piles of money. Gogs doesn't bother with any | nodejs at all. | | Personally I like even MORE basic than gogs or gitea and use | this at my own company: | | https://git.zx2c4.com/cgit/about/ | | It's like a single binary packaged up, and a few lines on | openbsd httpd to get it running. Pretty sweet! | ironmagma wrote: | I'll go against the grain and say, Gitea is good but could use a | lot of improvement. We use it at my company (startup) and find | there are issues with migrations (up but no down), nonstandard | web framework (go-macaron), and far too much logic implemented in | go templates. There are also some strange issues with how errors | are reported. Go is a fine language, but Gitea isn't a great Go | codebase. | | Of course, we/I understand open source software isn't perfect and | such. That isn't my point, I'm just saying that Gitea could use a | complete rewrite, ideally using NextJS (if SSR is that important) | or moving most if not all view logic into the client side, | ditching go-macaron and xorm for something more widely used, | relying less heavily on go templates, and doing error handling a | bit better. | | That said, Gitea does have a good excuse which is that it | inherited many of these things from Gogs, from which it was | forked. | muhehe wrote: | I'll go and say a really _don 't like_ arrogant comments like | yours. Shitting on someone's work you're using for free by | recommending complete rewrite in technologies you currently | like is absurd. Less used framework - so what. Logic in | templates - yeah not great but still, so what? Etc... Doesn't | really bother anyone using it. | ironmagma wrote: | I would also add that I don't even like NextJS. I'm | recommending it because it's a better engineering choice. I'd | much rather see it rewritten in Rust, but that's irrelevant. | muhehe wrote: | I really wonder what makes you think nextjs is better | engineering choice. | | (I really do want to know, I don't mean this question in | any negative way.) | ironmagma wrote: | SSR is "fine", but it doesn't need to be this painful. | Here's an example buggy piece of code: | {{range $i, $file := .Diff.Files}} <div> | {{ if $file.IsSpecialFile }} <div>Special | file ({{$file.name}}) {{ end }} </div> | {{end}} | | Because of the missing </div>, instead of a list of | files, it produces a file listing inside of another file | listing inside of another, etc. That's just something | you'd never be able to accidentally do in NextJS, or | anything that uses JSX-like structure. | | Then there are clerical things like where to put styles | and presentation logic. Gitea uses a mix between jQuery | and Vue, with CSS rules sprinkled in randomly. The result | is that by looking at the template and the class names on | each element, you have no idea whether a class name or ID | is going to have significance to jQuery, CSS, or if it's | just dead code. Something like styled-components, and use | of a single stack (Next as opposed to jQuery+Vue) | eliminates the fear and clerical aspect of development. | skrtskrt wrote: | Logic in templates is just a classic lack of separation of | concerns that makes a project into a ball of mud as it grows | muhehe wrote: | Does it directly affect users? | ironmagma wrote: | No, but it indirectly affects users. | kanonieer wrote: | It's not just arrogance, it's called being a "modern JS | developer". The bubble some of these people are living in is | so rigid, they can't simply accept when someone does things | differently. Some quotes from the parent are as follows, | accompanied with some sarcasm on my end: | | > nonstandard web framework (go-macaron)... | | The "standard" is React and Vercel offerings. Get with the | times. | | > ditching go-macaron and xorm for something more widely | used... | | You're only supposed to use libraries that are #1 popularity | in their respective category, few weeks of no commits means | the library is dead. | | > I would also add that I don't even like NextJS. I'm | recommending it because it's a better engineering choice... | | Yes, you read that right. This is the advice for Gitea: | Github, Gitlab, SourceHut all used server-side templates, so | much so that latter two are quite useful even when JS is | disabled- but the "better engineering choice" (citations | sorely needed) is NextJS. | ironmagma wrote: | > few weeks of no commits means the library is dead. | | Xorm is so old and disused, it's been absorbed into Gitea | and the Github repo is archived as read-only. You get much | better capability out of something that's widely used, | that's it. I don't care at all about how "modern" something | is, if you can't roll back a migration because of your ORM | then you have a nonideal ORM. | | > The "standard" is React and Vercel offerings | | No, I was thinking Gin or Buffalo. Something that a lot of | people use and that's seeing a lot of love, you know... a | standard. | | > they can't simply accept when someone does things | differently. | | Yea, that's why I continue to accept Gitea as a good piece | of software. Only people who cannot accept software | packages as they are go out, call them "good", and try to | get people to understand how it can become even better. | ironmagma wrote: | There's nothing arrogant in my comment. Like I said, Gitea is | good. Like all other software, iterations improve quality, | and I'm just saying it's time for the next iteration. I | probably would have written Gitea the exact same way if I | were in the developers' shoes, but that doesn't mean a | rewrite wouldn't still be in order. | | As for the so what, I think the answer is just that things | can be better, so if someone is out there reading this thread | who has some time, they can see this and know what kind of | improvements can be made. | muhehe wrote: | Suggesting improvements is ok. Recommending complete | rewrite in different stack and technologies is not | constructive critique imo. | ironmagma wrote: | Elsewhere on the Internet, someone posted: | | > If it ain't broke don't fix it? Or is there some | specific shortcomming that might justify a rewrite? | | I'm answering that question. The information is out | there, so if people want to ignore it that's beyond my | mandate. But this is still constructive since someone out | there wanting to rewrite Gitea will want to know what the | pain points are before they do so. | Zababa wrote: | I understand how migrations issues could be a problem, but how | is the nonstandard web framework and the logic in the templates | a problem as a user? Maybe it makes it harder for you to | contribute to the project (and probaably for other people), | thus slowing down the rate of improvement? Maybe other | framework have better performance? Not denying your experience, | just curious about the consequences of stuff like go-macaron. | ironmagma wrote: | Makes bugs harder to fix/diagnose and new features harder to | implement. Yes, there is some UX and performance cost for | certain actions if they require a roundtrip to the server. | That isn't my main concern, it's just the speed of | development. | | For migrations, if a migration fails, you have no way of | rolling it back because they only go up and not down. This is | just a specific instance of the problem of having less | popular dependencies -- the bug fixes and new features are | less plentiful because there's not as wide of a community. | That applies to xorm and go-macaron. | solar-ice wrote: | Can you show an example of excessive logic in templates? My | experience of Go templates is that they're practically | impossible to implement any interesting logic in, so that's | certainly interesting. | ironmagma wrote: | https://github.com/go- | gitea/gitea/blob/368baf9e77606e5de8bbc... | | Here's a good sample file. The cyclomatic complexity is | through the roof: note the variable assignments, function | calls, string concatenation, large number of `if`/`else if`s, | nested conditional expressions (line 254). I don't even want | to know how many permutations of this page are possible... | neatze wrote: | I was compelled to learn GO because Gitea, running it docker and | on commit Gitea triggers tasks on multiple Mini PCs (wrote my own | simple CI). | malteg wrote: | Try drone? | Loic wrote: | Or Woodpecker[0], a fork of Drone keeping the Apache 2 | license. | | [0]: https://woodpecker-ci.org/ | capableweb wrote: | Woodpecker is what Codeberg (Gitea deployment) is using and | it works wonderfully! | | Here is an example pipeline I use to build and deploy | Ditzes (my offline/desktop HN client): | | https://codeberg.org/ditzes/ditzes/src/commit/410486175a2de | a... | tomohawk wrote: | We did comparisons between self hosted gitlab and gitea. | | gitea was considerably easier to set up, and much more | bulletproof. gitea was much lighter on resources. | | We had a use case to be able to mirror thousands of repos. gitlab | would fall flat on its face. gitea had no issues. | | We turned this over to corporate, and they chose gitlab. gitlab | had great sales people. | chrismorgan wrote: | I don't feel that "Git service" is quite doing it justice. If it | were just a Git service, I don't think it'd have the social | features: repository namespacing, user accounts (at least to the | extent it has them), issue tracking, pull requests, release | management, wiki, watching/starring/forking... | | Now as it happens, I actively _don't want_ any of that stuff for | something I'm hosting for myself for my own projects only. I | pretty much just want the parts you'd get in gitweb or cgit, but | done better (since neither of those is very good; I run gitweb | because I wasn't impressed with either, but gitweb was easier to | patch into a more acceptable shape). Is Gitea capable of being | pared down to just this? Is there anything else that fills this | niche? | lapser wrote: | Sure Gitea does a bit too much for a single individual, but you | don't have to use the additional features. Honestly, the UX of | gitweb is pretty bad so even if Gitea has too much, it's still | better than gitweb. Who knows, maybe someone will clone a Gitea | and rip out all the social features from it. | lmas wrote: | I've been thinking of making Yet Another Git Repo Browser(tm) | from scratch these last couple of years, with features I've | been missing in gitweb and with a cleaner/more familiar UI. | Maybe it's time to revive that old prototype. | | What issues did you have with gitweb? And what stuff did you | patch up? | Tmpod wrote: | You could try setup just a git.sr.ht instance, I suppose. Dunno | if it is what you're looking for, but it might be worth | checking out. | chrismorgan wrote: | As regards _features_ , git.sr.ht is certainly lighter than | Gitea, but still suffers from various of the same problems | because it's designed to run the show with social operation, | rather than just doing read-only publication of repositories | that it finds at such-and-such a location. It doesn't have | _as_ much extraneous and undesirable functionality (e.g. no | issue tracking), but when setting it up requires PostgreSQL | and Redis (which latter I think you _may_ be able to skip, | but it's hard-required in the systemd units I see) and | more... yeah, this is not what I'm looking for. | Operationally, Gitea is considerably lighter than git.sr.ht, | as you can get it going with _only_ Git and SQLite installed. | pvinis wrote: | im trying to remember one. I used it and I think you will like | it. but it's been a while and i am forgetful! | | it was something short, the url too. it was sh or st something. | | can anyone get which one I mean? | | edit: YES! it's sr.ht. thanks, commenter below this :) | KronisLV wrote: | I recently moved over from self-hosting GitLab to instead having | Gitea, Nexus and Drone, because the burden of keeping GitLab up | to date was cumbersome, given how it's such a large and | complicated software package. | | I wrote about it in my blog post "Goodbye GitLab; Hello Gitea, | Nexus and Drone": https://blog.kronis.dev/articles/goodbye- | gitlab-hello-gitea-... | | That said, I still find the UI of GitHub and GitLab to be a bit | better than Gitea's (the whole organizations/groups navigation | feels better), though Gitea is immeasurably more performant when | compared to GitLab, especially when the available hardware | resources are limited - in the case of 4 GB of RAM being all that | I could afford, it's the difference between a really snappy and | annoyingly laggy UI. | | Admittedly, now it's Nexus that loves eating my resources, though | for the most part having software like it for managing most of my | container images and other packages is pretty cool and | worthwhile, though one might also want to explore the | alternatives, such as Artifactory or something else. | | Also, personally I find Drone to be a bit less capable than | GitLab CI and its documentation isn't quite as good in comparison | - though that's a given, since it's an external tool developed by | another company. Though I guess even Jenkins would also be a | viable alternative (despite it having certain issues with plugin | stability etc.), or many other CI tools, given that Gitea is | actually decently supported! | | In summary, even if there still are a few challenges here and | there, the whole setup is a lovely way to self-host your own | projects and everything around them in a cost effective manner | and whilst also staying in control over your own data. Gitea is | an important part of this and overall I'm really glad that we | have cool software like it nowadays! | | At the same time, I'm more than happy to use GitLab or something | like it at work, as long as keeping it working nicely, up to date | (and paying for the servers) is someone else's responsibility. | bluehatbrit wrote: | Mind if I ask how you're hosting this setup, are you using | something like k8s or swarm? If so how are you handling | persistence, just normal volumes? I imagine if you were to lose | data, that'd be pretty bad. | KronisLV wrote: | Currently using Docker Swarm with bind mounts instead of | volumes, because they're a bit easier to work with, backup- | wise. | | Infrastructure wise, there are a few VPSes from a local | provider (https://www.time4vps.com/?affid=5294 affiliate | link), though I've also used DigitalOcean, Hetzner, Scaleway | and others in the past, AWS, GCP and Azure would work as | well, though would be much more expensive. For executing CI | tasks and backing up the data, i have a few servers on my | desk (though regular towers with passive cooling, instead of | the rack mounted kind), since those are more cost effective, | especially storage wise. | | The actual files are backed up with BackupPC over the network | automatically, at a set interval, to another server: | https://backuppc.github.io/backuppc/ Then, of course, the | backup server data is occasionally sent to another server in | my local network, just to spread it around more, in case of | disk failures or one of the servers shorting out. | | Admittedly, it's a lot like using regular rsync with cron, | although the benefits of BackupPC are being able to really | easily restore files, as well as having incremental backups | with compression. | | It is a bit rudimentary as far as handling data goes, but | sometimes that's all that you need: | https://blog.kronis.dev/tutorials/simple-ways-to-do-backups | | Alternatively, one might also achieve the same result with | something like Bacula, Kubernetes with either hostPath or | maybe even just a NFS mount. Other folks might prefer | something like GlusterFS or a similar distributed storage | solution, or something like Longhorn for Kubernetes in | particular. | mkesper wrote: | Maintaining Jenkins and its gazillions of plugins is such a | hassle I'd never consider it for a new project. | [deleted] | jonnycomputer wrote: | I wanted to self-host a git server, and because I use gitlab at | work, that was my first choice. But the system requirements for | gitlab were too heavy for the linode I was running, so I went | with gitea. Linode also had a handy install-script to set | everything up painlessly. | | I concur with your overall assessment. | qbasic_forever wrote: | You'll probably be happy to see the 1.17 dev version of gitea | (which should be the next major release) actually has an | artifact repository built in and it can even host docker | images: https://docs.gitea.io/en-us/packages/overview/ You have | to build the branch yourself right now though, despite being in | the docs it's not in the release downloads yet. You might be | able to get rid of nexus and just use this built in registry. | KronisLV wrote: | That's actually pretty cool to hear! | | Though a problem that I ran into with GitLab Registry was | that sometimes the Docker image cleanup wasn't done properly | and old layers kept lingering around and eating a lot of | space. I sort of fixed it with some cleanup scripts and the | occasional manual actions, but it still was a bit problematic | since running out of space was a very real risk. | | Nexus does appear to have similar issues, should you use it | as an intermediary for CI image builds (e.g. tag it with | branch-date and tell your cluster to redeploy the image), but | at least it has instructions for cleaning it up that work | most of the time: | https://help.sonatype.com/repomanager3/nexus-repository- | admi... | | Personally, I think that using the same software package for | storing build artifacts and the source code itself is a bit | risky, but maybe Gitea will be able to tackle those | challenges with no significant issues! | jonnycomputer wrote: | I just discovered that the latest gitea supports package | repositories. I'd like to see something that works for R | packages without too much hassle. | Inversechi wrote: | By Drone do you mean the `0.8` open source version? If you've | not tried Woodpecker it built upon the `0.8` code and added | lots of nice functionality, has better documentation, and is in | active development. | | https://woodpecker-ci.org/ | KronisLV wrote: | I mean the currently available 2.X set of versions: | https://docs.drone.io/server/provider/gitea/ | | Its source code is also available on GitHub: | https://github.com/harness/drone/releases | | Of course, the point about their license is a good one, which | definitely has some limitations on what you can do with it: | https://github.com/harness/drone/blob/master/LICENSE (I wish | I earnt 5 million $ and this would be a problem I'd have to | think about). | | Thanks for bringing up Woodpecker, though, it also seems like | a nice project and the two CI solutions haven't diverged far | enough for migrating over from one to another to be too | problematic, should that become relevant in the future: | https://github.com/woodpecker-ci/woodpecker | | Of course, as I said, some folks might also prefer something | like Jenkins or another CI solution. I'm yet to explore most | of the packages out there! | InfamousRece wrote: | Last time I tried Gitea, it was surprisingly difficult to migrate | existing git repos. I hope they made it easier. | nik736 wrote: | I am using Gitea + Drone for several years now and couldn't be | happier. Stable, fast and it justs works without consuming a | shitload of RAM. | lapser wrote: | Woodpecker CI is a fully open source fork of Drone CI. Drone | changed their license so they forked it. | dividedbyzero wrote: | What did they change it to? | generichuman wrote: | It seems to be licensed under Apache 2.0 (for community | edition) + some custom commercial license (for enterprise | edition). See here: | https://github.com/harness/drone/blob/master/LICENSE | IshKebab wrote: | How do those Docker-based CI systems support Windows and Mac | builders? Aren't you constrained to just Linux? Seems like | quite a crippling constraint in a huge number of situations. | rapnie wrote: | Yes, they integrated it with Codeberg.org also running Gitea. | abdusco wrote: | One great feature of Gitea is that you can create private repos | without using the UI/CLI by adding a git remote. | git remote add origin https://my.gitea/user/new_repo git | push # user/new_repo is created as a private repo | | Super cool. Does Github have such a feature? | unqueued wrote: | For GitHub, using the hub[1] client, you can simply do: | hub create -p | | That will create a new private repo, matching the name of your | repository. | | What I will often do if I want to instantly mirror something to | github: hub create -p --remote-name=github | | Which will create a new remote with that name. Otherwise origin | will be used, which can conflict if you already have an origin | remote. | | It is also less typing. | | [1]: https://github.com/github/hub | phpisthebest wrote: | I dislike organizations that take open source things like | git, and then extend them to add features making them | propriety work flow lock in making it hard to move to a new | platform | | Another company was famous for this, they used to call it | Embrace, Extend, Extinguish | unqueued wrote: | Well, with the hub cli, it is just using GitHub's public | API. I don't think it is doing anything proprietary. | rglullis wrote: | > I don't think it is doing anything proprietary. | | Does github provide the code of their servers that | implements the API? Can you self-host it? If not, then it | is pretty proprietary. | gurjeet wrote: | Notably, SourceHut has this feature. | INTPenis wrote: | Not sure about Github but Gitlab does. It just creates a new | repo under your account when you push to a non-existing one. | Seems like a very basic feature to me. | | And the default setting happens to be private. | madacol wrote: | Just tested, github fails | filmgirlcw wrote: | Not sure if doing it that way will create a private repo or not | (at the airport and I can't check), but you can use the GitHub | CLI to do it. I'm a huge fan of the CLI, but obviously being | able to do it without that is nice. | | https://docs.github.com/en/get-started/quickstart/create-a-r... | klik99 wrote: | It appears as if the main repo along with issue tracking and pull | requests is hosted on GitHub: https://github.com/go-gitea/gitea - | At least it looks that way, are issues/pull requests mirrored | across to GitHub? | | I have to admit, if the GitHub repo is the main source for | issues/PRs, it's a bit of a yellow flag that they're not | dogfooding it. | | That being said - if I didn't need easy CI support I'd probably | be using Gitea instead of GitLab CE - GitLab CE is great but it's | a resource hog and feels like it's getting slower over the years. | tylersmith wrote: | I was curious about this so I searched and found that they | started using Github before all the necessary features were | ready in Gitea, and they are in the process of moving. The only | thing left now to do is actually implement a feature to import | content from Github. | | Here is an issue tracking the migration: https://github.com/go- | gitea/gitea/issues/1029 | kayson wrote: | I don't think it's a yellow flag. It's hard enough to get | contributors for FOSS as it is. Adding the additional hurdle of | creating a new account would be counterproductive. Everyone | already has a Github account so it's much easier to host it | there. | | What they really need to do first is copy Gitlab and add | support for logging in with Github. Then they could move their | repo to gitea without locking out a bunch of contributors (or | keep a copy on github and mirror issues/PRs) | | Edit: looks like you already can login with github and they're | working on migrating their repos to gitea! | 2Gkashmiri wrote: | is there a way to sync gitea/gitlab issues to github? i | contribute to a project that is on gitlab but there is no | discoverability. my idea was, if we had a mirror on github, | at least people could look at issues, suggest fixes without | having them to login to gitlab. | kayson wrote: | I know gitea can mirror a github repo, not sure about | issues or PRs though. | | If you're using gitlab or gitea you should be able to allow | people to login with github accounts. I used that to raise | issues about borgmatic[1] and it was very painless. I | believe it's also mirrored on github but issues aren't | enabled. Not sure how the maintainer set it up. | | [1] https://projects.torsion.org/borgmatic- | collective/borgmatic | 3np wrote: | From an effort-cost-to-performance perspective, Gitea (or | equivalent) scores very high if you're considering software to | self-host. | | Practically infinite private repos, privacy, automate/customize | all you want. | kburman wrote: | I wish this doesn't become a tool for CCP. | shp0ngle wrote: | For a certain definition of "painless". | | edit: to clarify. It's fine for a one man show or a small | company. Once you get bigger, you start hitting the various | issues quite often, and wish for github again. | jasonjayr wrote: | It can also serve as an OIDC IdP[1], which makes it handy to be | the linchpin for a bunch of developer services with SSO. | | 1: https://docs.gitea.io/en-us/oauth2-provider/ | Loic wrote: | You get access to the organizations in which the user is, which | is _really nice_ to provide access to other company services | based on this information. | | A small example, we create users for our customers in gitea and | they are only part of the "customer" organization. This | automatically get them access to the "customer" worklog as they | access the customer area. So gitea is for us the central | identity management. | grawp wrote: | I sorely lack subscriptions/watches managment in Gitea. | | I'd like to be able to get a list what i'm watching and filter it | on repo, author, type (issue/pr), and reason like I very often do | in github. | | There is also no session managment accessible from user side :( | antaviana wrote: | Can Gitea be configured behind an AWS Load Balancer? I'd like to | have the ALB to do OIDC authentication with Azure AD, and also | take care of the SSL offloading (so that we can use ACM | certificates). | lapser wrote: | Considering codeberg.org is a productionized deployment of | Gitea, I'm guessing deploying a HA version is possible, and you | can bet that an LB can be put in front of it. As for SSO, I'm | not sure if Azure AD is supported, but some SSO configurations | are supported directly in Gitea[0]. | | [0] https://docs.gitea.io/en-us/authentication/ | zxcvbn4038 wrote: | I've been using gitea for a number of years - before GitHub | started letting people have private repos for free it was about | the only option for a self hosted private repo with a GUI. It's | written in Go which makes it very convenient to run from a usb | stick. It also has a feature to mirror other repos and I use that | to keep local copies of projects I follow - and has saved me a | couple times when the project authors decided to delete their | repos or YouTube decided to not host them. Today I use gitea to | host my private development server as a Tor hidden service which | makes it easily accessible from almost anywhere - though many | major hotels chains will ban your MAC address locally if they see | you connecting to Tor servers, but never had issues while at an | AirBNB which is where I spend most of my time these days. | mr90210 wrote: | Was Gitlab around? | Macha wrote: | Timeline: | | 2008: Github launched | | 2008: Bitbucket launched | | 2010: Atlassian purchases bitbucket, makes private repos free | | 2011: Gitlab launched | | 2014: Gogs (Gitea's predecessor) first public release | | 2016: Gitea forks from Gogs | | So at the very least, bitbucket was established and gitlab | was around | snorlaxle wrote: | And even before Github, there was Trac | [https://en.wikipedia.org/wiki/Trac] | app4soft wrote: | I'm not sure when Git support was initially added to | Trac, but TracGit 1.0 released in 2012.[0] | | [0] https://trac.edgewall.org/wiki/TracGit | sam_bristow wrote: | Nice timeline. One thing to point out though is Bitbucket | only supported Mercurial up until October 2011. | jonnycomputer wrote: | Gitlab is great, but it also is pretty resource hungry. I | opted for Gitea for that reason, so it would be viable on the | cheapest Linode server option, and I've mostly been satisfied | with it, thus far. | zxcvbn4038 wrote: | Same, there were a number of GitHub like services you could | self host but gitea stood out to me as the easiest to | install and maintain. A lot of the other options I looked | at required multiple daemons, a full database, etc. Gitea | can use a full database but works great with SQLite also. | mwint wrote: | Side track, but what circumstances/choices lead to spending | most of your time at AirBnB's? | zxcvbn4038 wrote: | I didn't leave my apartment for two years because of Covid | and decided a change of scenery would be nice, so my family | and I have been bouncing around rural AirBNBs for about six | months. Though we'll have to go back in another month - my | son really wants to go back to in-person schooling, that is | starting soon. But back to the woods as soon as he gets tired | of high school life! | macspoofing wrote: | >it was about the only option for a self hosted private repo | with a GUI. | | Bitbucket had free private repos for a long time. There were | other services as well. | tbrownaw wrote: | > _as a Tor hidden service which makes it easily accessible | from almost anywhere_ | | I have a wireguard with the server running on a small VPS, | which is useful for both ignoring filtering on public wifi and | getting into my home network from wherever. | quaintdev wrote: | I'm thinking of doing this but at the same time I'm afraid of | exposing my home network to a remote VPS. Am I being too | paranoid about this? | | If I do go this route do you have any suggestions with | respect to security? | [deleted] | tbrownaw wrote: | The VPS is running sshd (pubkey auth only) and Wireguard, | and I also see bound UDP sockets for dhclient and ntpd. And | that's it, at least for the public interface. | | Also, things I want to look at on my home network mostly | work fine over ssh (console stuff, git, etc). So I haven't | actually gotten around to setting up full routing yet, and | use the wireguard endpoint box as an ssh jumphost / bastion | (and can forward ports if I do have something to get at | that doesn't like to play nice). | VTimofeenko wrote: | I have a similar setup and I was also quite paranoid at | first. Wireguard is a very solid solution that does | precisely what it claims to do and allows you to layer | extra network controls on top of it, so the vpn clients | only get routed where you allow them to. | | A bit less hands-on solution could be something like | tailscale. | stormbrew wrote: | You can lock down a wireguard vpn server pretty hard, | because wireguard itself is essentially invisible unless | you know it's there. It doesn't respond to anything but | well formed, correctly signed (in the case of connection | initiation) or encrypted (for the actual network itself) | packets. So conceivably, you can have your vpn server not | respond to public icmp, not expose even ssh without | wireguard under it, and be essentially invisible to the | internet. | fs111 wrote: | If you are not replying to ICMP you let everyone know | that you are there. If you we're not there, the error | would be 'no route to host', but there is a route, so you | must bei there | Fronzie wrote: | For me, https://tailscale.com/ gives me an easy-to-use | personal network. It uses wireguard with custom | configuration on top of it. | zxcvbn4038 wrote: | One of the benefits to Tor is you don't need to open any | ports, the Tor acts as a reverse proxy for onion services. | A lot of Tor services run over port 443 because it gets | passed through with little to no issue. With Wireguard you | have to deal with all the networks, particularly airports | and businesses, that don't allow UDP. I've had a good bit | of luck using the dns and ntp ports for wireguard but if | your on a network that has something filtering/monitoring | dns or only wants you to use their time server, those can | stop you also. Once http/3 is official that should make | things better for everyone using wireguard. | TheaomBen wrote: | Plus tor hidden services -or whatever the current | nomenclature is- offer a fairly robust and painless story | for authentication in this "sorta VPN" scenario. Generate | a couple extra keys and invite a friend and his bots. | | https://community.torproject.org/onion- | services/advanced/cli... | zxcvbn4038 wrote: | I do the client auth feature. The chances of someone | stumbling across my hidden service is pretty low I think, | but it's not zero. With auth set up I don't think a Tor | client can even get the Id of the rendezvous server | without having the correct key. | siddontang wrote: | Gitea is very easy to use, but I find the Activity feature is a | little slow. | | I experienced the "Try Gitea" service and migrated our TiDB repo | https://github.com/pingcap/tidb to it. When I clicked the | Activity tab and selected "1 year" period, I found the page | loading was so slow, nearly _90s_. And I also found that this | Activity doesn 't have a Cache, I re-selected "1 year" again, and | the page loading was nearly the same time. | | I guess Gitea uses git command to traverse all the logs for the | period every time. Maybe it can use a database to speed up, or | like Github only provide at max "1 month" period. | capableweb wrote: | Could just be because the "Try Gitea" service is just a test | deployment, staging environment if you will. I don't think it's | optimized in any way at all. | | Trying to same on Codeberg, which is a production environment | of Gitea, the loading time of the "Activity" page for | Codeberg/gitea seems to take ~5 seconds for me. It still seems | to lack any sort of caching, but at least it's relatively fast. | See https://codeberg.org/Codeberg/gitea/activity/yearly (people | might want to be careful hitting that URL over-and-over, in | case we ddos the Codeberg folks :/ ) ___________________________________________________________________ (page generated 2022-06-05 23:01 UTC)