Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Time to move to self-hosted git solution?
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Time to move to self-hosted git solution?

KwoonKwoon Member

Hi folks,
I've been using the free plan of Gitlab in the past years and it has been perfect for my needs.

Now I'm working with another guy on some "game server source".
I'd like to put it on my Gitlab but it's about 10GB, so maybe they won't be happy about this.
I have also some customer projects on my Gitlab.
I'm thinking about migrating everything on a small VPS.
Do you think is a good move?
Obviously, I'll have a backup copy of every repository on my PC.

Since Gitlab CE is resource-heavy, I googled a bit and found Gitea, which can run on a Raspberry.

Do you have any advice?
Thx in advance

«13

Comments

  • joepie91joepie91 Member, Patron Provider

    I'm using Gogs, which Gitea is a fork of. The featureset is quite a bit more limited than that of Gitlab, but it is very light-weight, and has all the features that a typical project needs. I don't really have any complaints about it. Gitea is a community-led fork of Gogs, so it's a bit further ahead in terms of features (and probably a better option, I still need to migrate).

    It's pretty set-and-forget in terms of maintenance. Aside from obvious things like installing updates, there's pretty much no maintenance needed for Gogs, and I presume that the same is true for Gitea.

    TL;DR: Yes, go for it. Just make sure you have good backups (Borg is useful).

    Thanked by 2uptime Kwoon
  • uptimeuptime Member

    They were acquired by Microsoft not too long ago.

    (Next question: "what's wrong with Microsoft?" ... lulz.)

  • williewillie Member

    I used Gogs in a project and have a self-hosted but basically empty Gitea and they are nowhere near as fancy as Github but they are fast and light. Installation was actually a bit of a pain for both, but maybe it is easier now.

    Even lighter is Fossil (fossil-scm.org) which combines soure control, bug tracking, and a wiki in a single program using around 2MB of memory. It's amazing. Unfortunately it's not git-compatible but it may move in that direction. It's on my large list of programs that I'd like to understand and hack sometime.

  • joepie91joepie91 Member, Patron Provider

    willie said: Even lighter is Fossil (fossil-scm.org) which combines soure control, bug tracking, and a wiki in a single program using around 2MB of memory. It's amazing. Unfortunately it's not git-compatible but it may move in that direction. It's on my large list of programs that I'd like to understand and hack sometime.

    Looked interesting, until I discovered that they have a Bugzilla-style issue system :(

  • sanvitsanvit Member

    I'm running Gitea on my VirMach VPS, and running fine. Note that git push uses up 100% of CPU for a long time on big repo.

    Thanked by 2Kwoon Tumbleguy1
  • KwoonKwoon Member

    I keep my projects private.

    How much ram do you suggest to run gitea?
    I currently have also a buyshared plan but I’ll probably move everything on the same VM if the offer free direct admin

  • williewillie Member

    The small Gogs that I used took around 40MB. Much more than Fossil but nothing compared to Gitlab. Gitea may be bigger than Gogs by now.

    Thanked by 1Kwoon
  • uptimeuptime Member
    edited July 2019

    willie said: Fossil (fossil-scm.org)

    I like fossil but ... it is what it is, I guess - definitely not for everyone.

    The revision-control parts of the fossil system are based on sqlite - as it was originally designed by the creator of sqlite to keep track of that codebase.

    (It's quite an impressive "eat your own dogfood but don't screw the pooch" type scenario if you think about it.)

    I've used it a bit mainly due to the fact that it's super simple to setup - and runs very snappily on a Pogoplug (old ARM device with 128 MB ram) or similar - with a web interface, wiki and all.

    But I think it's best meant for use by a single developer or very small groups - not the git style fork-at-will hyper-distributed way of doing things.

    And I don't know what @joepie91 means by Bugzilla-style issue system (but I'm sure he does). :)

    I've just made use of the simple revision control functions to make quick checkpoints of code I want to keep handy, nothing too involved.

  • KwoonKwoon Member

    @willie said:
    The small Gogs that I used took around 40MB. Much more than Fossil but nothing compared to Gitlab. Gitea may be bigger than Gogs by now.

    So a 1GB vps would be fine to run gitea php MySQL and nginx

  • williewillie Member

    I'm not sure what Joepie91 meant about Bugzilla-like tracking either. It's more like Trac if you've seen that:

    http://fossil-scm.org/home/doc/trunk/www/bugtheory.wiki

    Maybe there's some external system for bugs in Fossil itself, that Joepie91 was referring to?

    Kwoon said: So a 1GB vps would be fine to run gitea php MySQL and nginx

    Yes I expect so.

    Thanked by 2Kwoon uptime
  • joepie91joepie91 Member, Patron Provider

    uptime said: And I don't know what @joepie91 means by Bugzilla-style issue system (but I'm sure he does). :)

    willie said: I'm not sure what Joepie91 meant about Bugzilla-like tracking either. It's more like Trac if you've seen that:

    Those are in the same category, to me. They're both very much designed around "you'll have to learn to work with this", being heavily based on formatting-coded overview tables, prominently displaying lots of information that is not relevant to end users, and so on.

    The problem with that is that it's horrible to use for anybody other than the people who decided to set it up, which is precisely why issue tracking works so much better on GitHub than it does on older project management systems (despite the rather lacking administrative features on GitHub).

    Bug/issue trackers are ultimately end-user-facing interfaces, and need to be designed accordingly. Those of Bugzilla/Trac/Fossil/etc. are not. Those of GitHub and its UI clones (like Gogs and Gitea) are.

    Thanked by 1uptime
  • sanvitsanvit Member
    edited July 2019

    @Kwoon said:

    @willie said:
    The small Gogs that I used took around 40MB. Much more than Fossil but nothing compared to Gitlab. Gitea may be bigger than Gogs by now.

    So a 1GB vps would be fine to run gitea php MySQL and nginx

    My Gitea server uses around 240M total (Ubuntu 18.04 + NGINX + Gitea + Canonical Livepatch)

    Thanked by 2uptime Kwoon
  • I use gitea on buyvm for few years, it just works.

    currrently on v1.9.0-rc2, I always upgrade to latest version even the RC one. I do backup every hour, if something goes wrong it only take 2 minute to restore.

  • KwoonKwoon Member

    I'm choosing between Hetzner Cloud and BuyVM.
    I have 1 gb ram more with Hetzner, but BuyVM has free DA license which I can use to host my website

  • williewillie Member

    Either one is fine for your website, or you could get a shared hosting plan. If you have to ask a question like that, you may be better off with shared hosting.

    I would decide basically by what location you want. The 1GB ram is probably not that important. And you can certainly host a website without DA.

  • KwoonKwoon Member
    edited July 2019

    @willie said:
    Either one is fine for your website, or you could get a shared hosting plan. If you have to ask a question like that, you may be better off with shared hosting.

    I would decide basically by what location you want. The 1GB ram is probably not that important. And you can certainly host a website without DA.

    Yes, but managing sites with DA is simpler than through the shell.
    I'm already using a shared hosting plan but is LET here and I want to cut down costs ;)

  • raindog308raindog308 Administrator, Veteran

    Kwoon said: I keep my projects private.

    Since January, Github's free tier now allows private projects.

    https://techcrunch.com/2019/01/07/github-free-users-now-get-unlimited-private-repositories/

  • The 10gb includes assets right?
    If so, you should never use Git to store assets or other large media files. You'll probably do better just storing the assets on a VPS and transferring them over over FTP or something.

    Thanked by 1uptime
  • uptimeuptime Member
    edited July 2019

    @ehhthing said:
    The 10gb includes assets right?
    If so, you should never use Git to store assets or other large media files. You'll probably do better just storing the assets on a VPS and transferring them over over FTP or something.

    git-annex can be useful for tracking versions of large files: https://git-annex.branchable.com/

    Thanked by 1Kwoon
  • williewillie Member
    edited July 2019

    ehhthing said: If so, you should never use Git to store assets or other large media files.

    Use this for that: https://git-annex.branchable.com/

    Thanked by 1uptime
  • Gogs for life. First thing I changed in my new job, setup Gogs in a private server, and moved every projects from Bitbucket and Github.

  • sanvitsanvit Member

    @ShihabSoft said:
    Gogs for life. First thing I changed in my new job, setup Gogs in a private server, and moved every projects from Bitbucket and Github.

    May i ask you the advantage of Gogs vs BitBucket/GitHub? I have mine for testing purposes and speed issues (network between GH servers and my ISP gets really congested time to time), but this won't be a problem for the majority of users here?

  • @sanvit said:

    @ShihabSoft said:
    Gogs for life. First thing I changed in my new job, setup Gogs in a private server, and moved every projects from Bitbucket and Github.

    May i ask you the advantage of Gogs vs BitBucket/GitHub? I have mine for testing purposes and speed issues (network between GH servers and my ISP gets really congested time to time), but this won't be a problem for the majority of users here?

    First and foremost, privacy. You can host your private top secret projects on your own server, without having it on any 3rd party services
    Then performance, yes. But it depends on the server specs tho. Our company has almost 10+ employees working from all around the world, pushing pulling, making commits daily on our git server without a hiccup. We use Hetzner's cheapest cloud offering CX11 for this special purpose and never faced a single issue

    Thanked by 1Hetzner_OL
  • joepie91joepie91 Member, Patron Provider

    @sanvit said:

    @ShihabSoft said:
    Gogs for life. First thing I changed in my new job, setup Gogs in a private server, and moved every projects from Bitbucket and Github.

    May i ask you the advantage of Gogs vs BitBucket/GitHub? I have mine for testing purposes and speed issues (network between GH servers and my ISP gets really congested time to time), but this won't be a problem for the majority of users here?

    Same as with any other self-hosted applications: you control the infrastructure that you rely on.

  • strmdstrmd Member
    edited July 2019

    @ShihabSoft said:

    First and foremost, privacy. You can host your private top secret projects on your own server, without having it on any 3rd party services

    then:

    We use Hetzner's cheapest cloud offering CX11 for this special purpose and never faced a single issue

    I'm just curious: Do you take additional steps (FDE?) towards protecting your top secret projects or do you just consider a VPS per se to be intrinsically more secure than a properly managed private github repo (key management, 2FA etc.)?

    Edit: bonus points for discussing this while github is actually down!

    Thanked by 1Kwoon
  • KwoonKwoon Member

    @strmd said:
    Edit: bonus points for discussing this while github is actually down!

    Fortunately, I have all my project on Gitlab since Github introduced free private repos recently :smile:

  • KwoonKwoon Member

    I tried gitea on my windows pc and I like it.
    I'm still trying to figure out if it has all the basic features I need.

  • fleiofleio Member

    @Kwoon said:
    Hi folks,
    I've been using the free plan of Gitlab in the past years and it has been perfect for my needs.

    Now I'm working with another guy on some "game server source".
    I'd like to put it on my Gitlab but it's about 10GB, so maybe they won't be happy about this.
    I have also some customer projects on my Gitlab.
    I'm thinking about migrating everything on a small VPS.
    Do you think is a good move?
    Obviously, I'll have a backup copy of every repository on my PC.

    Since Gitlab CE is resource-heavy, I googled a bit and found Gitea, which can run on a Raspberry.

    Do you have any advice?
    Thx in advance

    We're using Gitlab internally for Fleio, Hosterion and IntoVPS projects.

    It runs on a M8 VPS (upgraded from 2 cores to 4 cores in our case) and it has been excellent. I wouldn't say it is a considerable resource consumer. You can get an IntoVPS M8 for $20 / month and even cheaper on LET. I doubt it wouldn't run in 2GB or 4GB of RAM, depending on your usage level.

    We have 47 project, some not active, some are small Jekyll static CMS sites and some are big, like Fleio 5 years of so of commits and 3-5 full time developers. We counted somewhere in the hundreds of thousand of lines of code in Fleio.

    We've also replaced Jenkins with Gitlab CI system.

    I love their CI/CD/devops pipelines system. When we push a commit on one of our Jekyll based sites (fleio.com, intovps.com, hosterion.com or hosterion.ro) the build starts automatically and automatically pushes html files to an internal staging website. After we check changes one more time in browser we push a button and htmls are deployed to production:

    Same automation with Fleio git pushes on deve branches trigger the automatic tests:

    Or more elaborated jobs flow that build rpm/deb/docker images, upgrades OS packages on staging servers, pushes to OS repo and Docker public registry:

    The job runners are on other VPS'es: 1 x M2, 2 x M4, 2 x M8. But we have some really heavy testing on Fleio, so if you don't do heavy automatic testing you you don't need this. You don't need the runners at all if you don't have pipelines/jobs.

    I am really impressed with the speed Gitlab releases features and upgrade has been always flawless. Run just a simple script and you're upgraded.

    Man, Gitlab is really brilliant. Not many projects (open source or not) have such a high quality level.

    The issue tracking system is pretty basic. We're on the Gitlab CE, but we'd upgrade to the paid version if we'd find a more sophisticated issue system. But the first paid level brings just some basic stuff. I'm sure they'll add features on the issue tracking, based on their release rhythm.

    But useful to have all integrated one system: git repos with development flow and code review flow, CI/CD, issue tracking system. Tests fail? Merge to master is forbidden. test failed for possible external cause? Check job output and push a button to rerun. Reviewing code for a colleague? Add comments next to code lines. Merge to master has a "Fix #123 .." message? Issue closed automatically.

    Don't worry if you're just using basic stuff. It works great and has great UX, even for basic stuff.

    Overall, Gitlab CE is that kind of open source project that is so professional and high quality that makes you wanna pay them!

  • MikePTMikePT Moderator, Patron Provider, Veteran

    @fleio super interesting and I kinda like Fleio. The only issue is the Openstack installation to get it all working. I dont even know where to start. Its built using many components then you need to interconnect those but what, makes you think you need like 4 or 5 dedicated servers just to power Openstack.

Sign In or Register to comment.