The main reason I run gitlab in my homelab is CI/CD and the built in container registry. I have a pipeline that will, on a successful merge to main, build my multi-arch docker images and push to the local registry, then using a portainer webhook automatically redeploy the application and pull down the latest image. Its wildly unnecessary for the project that has a few dozen to maybe a few hundred users but its fun to do nonetheless.
Personally, I'd value the integrated CI/CD over the issue tracking. Issue tracking is just one way of organizing a to-do list that spans multiple projects, and if you have both software and non-software hobbies with multi-project to-do lists, the issue tracker built into git lab might not be enough. But anyone with a home lab can benefit from the automation CI/CD provides.
Gitlab is my preferred platform gitlab-ci is simple and very efficient. Like you I worked as system admin and made transition to cloud devops so writing infra code and then learned to use git then configure automatic tasks deployment etc and a self hosted gitlab was the tool to do all of this I also setup self hosted gitlab for my former company. Very good video
Looking forward to the comparison of GitLab and Gitea! Imho, GitLab is a little to much for a single-person Homelab. ;D But let's see what's your conclusion. :)
Gitea with Drone CI would be interesting :) Been using Gitlab for work for last 10+ years..... seemed way too overkill for my homelab so settled on Gitea and love it :)
Great video. It would be nice to add a second part to explain 1. email configuration e.g. for sending notifications to the users and 2. a simple CI/CD setup
Really cool stuff. I use my GitLab self hosted instance to deploy configuration files on other VMs on my network via an Ubuntu docker img with Kaniko. Whenever I make a change on a project's config file and commit, that Ubuntu docker img will update those changes to the corresponding files on the VM that is running that service via ssh. So by doing this I can keep tracking the changes I make and also keeping all configs in one place, isolating them in different projects: DNS servers, Homepage config and others. I also have configured my GitLab instance to clone the repos to my GitHub so I can have an extra backup of my configs. For this you also need a GitLab runner.
Thank you for this video. You help us so much!!! I'm reading several comments and thinking... If you go to the interview, what do you think a interviewer will ask you: by GitLab or by Gitea? What these companies has certifications? I see that is important for larger companies. A larger company wants you have a experience with tools widely used.
Thank you for the great feedback! Indeed, that's one of the reasons why I do what I do and try to cover useful tools instead of the latest and greatest hobby project trends ;)
Christian, I do this with all the open source project I work with. Then if the internal changes I make work for me then I push the changes to the origin files. Gitlab works for me. Others may differ in opinion. Additionally I also use etckeeper to version my Linux /etc folder!
@@christianlempa It should be the standard. Even for new coders, We never learn without making mistakes and often original thinking provides an alternative to mainstream thinking.
Thanks for the video. I would have guessed that you also install gitlab in your Kubernetes. How was your decision making process? As Docker because it doesn't need to be scaled? Because it contains a database and you rather not install it in Kubernetes? Or because it is easier to install / maintain?
@@christianlempa I'm looking forward to the comparison. We have been using gitlab self-hosted for more than 8 years and it has always been reliable and stable. I've never tried Gitea before. We are currently also running it in docker because I want to gain some experience with Kubernetes first.
I watched this video to the end and also tried to search on your channel -- did you film your gitea video and comparison video yet? Your help is greatly appreciated. Thank you.
@@christianlempa Thank you. I'm only asking because you had written a comment in response to someone else asking you for a comparison with Gitea. Thanks.
@@christianlempa Haha, you got me; so i just watched it to the end. Looking forward to the Gitea episode. One thing i don't like around Docker, is storing data within the actual container. From what i saw, Gitlab seeds its own internal Postgres instance (though this may have just been the way you set it up)? Gitea allows you to map to an external DB, so i have Gitea running with volume mapping, and Postgres running in its own container, with volume mapping. I use YouTrack (free from Jetbrains for small teams) in its own container for managing projects, which Gitea can supposedly interface to (but i haven't set that up). You basically use Issues the same way i do, as a to-do list, and a way to keep track of bugs during the testing cycle, but YouTrack takes care of that for me.
@@christianlempa Do you also consider looking at forgejo ? Have not looked into the drama too much, but seems like it's also worth a look. Thanks and btw. this video vame at the perfect time, was just yesterday looking at what git hosting plattform to choose.
Was a little surprised you didn't deploy it into your pi kube cluster. :) Don't forget to setup doing a backup using the docker exec -t gitlab gitlab-backup create for example.
Gitlab has a lot more features, but it will be an overkill for most homelab use cases because it is bloated AF. Gitea is nice and lean. The extra features are no worth the bloat for most people
@@blazer511bro check ram usage it does lack some features of GitHub, but most useful ones are already there like CI CD with gitea actions which are completely drop in compatible with GitHub actions
Thoroughly enjoy your videos, I watch them all the time, but it blows my mind how you just end up faking it sometimes. IF this configuration works, it's relying on other configured services in your traefik config. This setup even copied exactly onto a brand new docker instance. Along with your traefik container tutorial, just plain out doesn't work. I do have other containers routing through traefik. Just not gitlab. Apparently there is some issue with it not wanting to allow that to happen.
@@chandradenny Lightweight, Simpler Interface,Easy Installation and Maintenance,Faster Performance , Its based on Golang!! (not ruby!!!) , and also after 100 projects It does not need atleast 16GB of RAM!!! it works even with 512 MB
@@christianlempa Thank you ! I'm looking forward to see your updated tutorial on traefik and also your Authentik configuration over gitlab. I've learnt so much watching your videos !
Experience a new way to learn with Imprint. Visit imprintapp.com/Lempa to get a 7-day free trial and 20% off an annual subscription.
The main reason I run gitlab in my homelab is CI/CD and the built in container registry. I have a pipeline that will, on a successful merge to main, build my multi-arch docker images and push to the local registry, then using a portainer webhook automatically redeploy the application and pull down the latest image.
Its wildly unnecessary for the project that has a few dozen to maybe a few hundred users but its fun to do nonetheless.
Personally, I'd value the integrated CI/CD over the issue tracking. Issue tracking is just one way of organizing a to-do list that spans multiple projects, and if you have both software and non-software hobbies with multi-project to-do lists, the issue tracker built into git lab might not be enough.
But anyone with a home lab can benefit from the automation CI/CD provides.
I can't believe the incredible timing of this video. I spent the last few days trying to set up gitlab but couldn't get past some redis issues.
Oh I hope the video was helpful
Me also I'm sure he's got drones watching the nerd population
Gitea with actions is amazing.
💯
Gitlab is my preferred platform gitlab-ci is simple and very efficient. Like you I worked as system admin and made transition to cloud devops so writing infra code and then learned to use git then configure automatic tasks deployment etc and a self hosted gitlab was the tool to do all of this I also setup self hosted gitlab for my former company. Very good video
Thank you so much 🙏
Looking forward to the comparison of GitLab and Gitea! Imho, GitLab is a little to much for a single-person Homelab. ;D But let's see what's your conclusion. :)
Gitea with Drone CI would be interesting :)
Been using Gitlab for work for last 10+ years..... seemed way too overkill for my homelab so settled on Gitea and love it :)
Great video. It would be nice to add a second part to explain 1. email configuration e.g. for sending notifications to the users and 2. a simple CI/CD setup
Hmm not a bad idea! ;)
Really cool stuff. I use my GitLab self hosted instance to deploy configuration files on other VMs on my network via an Ubuntu docker img with Kaniko.
Whenever I make a change on a project's config file and commit, that Ubuntu docker img will update those changes to the corresponding files on the VM that is running that service via ssh.
So by doing this I can keep tracking the changes I make and also keeping all configs in one place, isolating them in different projects: DNS servers, Homepage config and others.
I also have configured my GitLab instance to clone the repos to my GitHub so I can have an extra backup of my configs.
For this you also need a GitLab runner.
Thank you for this video. You help us so much!!!
I'm reading several comments and thinking... If you go to the interview, what do you think a interviewer will ask you: by GitLab or by Gitea? What these companies has certifications? I see that is important for larger companies. A larger company wants you have a experience with tools widely used.
Thank you for the great feedback! Indeed, that's one of the reasons why I do what I do and try to cover useful tools instead of the latest and greatest hobby project trends ;)
@@christianlempa I you do it wonderfully!
Love to see you setup a self host Docker Registry 🙏🏻
You can have it by running gitlab or gitea. Its a built in feature. Or running as separate platform like "Harbor" or older one called "Portus".
@@sergeygr Perfect ! I already use Gitea. 😎 Cheers
Another reference point for starting my dream homelab up. Amazing stuff, thank you!
Awesome! 👏 thanks for the kind words
You should create a video about Gitea aswell. And then another video, where you compare the two platforms. That could be super nice.
That’s exactly what I’ve planned 😆👍
Greet video. Just an fyi, the free tier is available for ee (not lust ce) and I've seen issues with ce
Thanks! Yes I heard that, seems a bit strange :D maybe I'll try that out at some point
I'll be looking forward to seeing the Gitea video, hopefully, you can explain a good way of getting SSH to work behind Traefik
Awesome! Of course I’ll do that :)
Christian, I do this with all the open source project I work with. Then if the internal changes I make work for me then I push the changes to the origin files. Gitlab works for me. Others may differ in opinion. Additionally I also use etckeeper to version my Linux /etc folder!
Awesome! That is nice
@@christianlempa It should be the standard. Even for new coders, We never learn without making mistakes and often original thinking provides an alternative to mainstream thinking.
thanks for the great content, can you please make a video on setup gitlab on kubernetes with traefik and longhorn
Thanks for the video. I would have guessed that you also install gitlab in your Kubernetes. How was your decision making process? As Docker because it doesn't need to be scaled? Because it contains a database and you rather not install it in Kubernetes? Or because it is easier to install / maintain?
I want to test gitea and decide which one I’m gonna use on my Kubernetes prod system later
@@christianlempa I'm looking forward to the comparison. We have been using gitlab self-hosted for more than 8 years and it has always been reliable and stable. I've never tried Gitea before. We are currently also running it in docker because I want to gain some experience with Kubernetes first.
The Commodore 64 shirt is FTW! I still have a Commodore 128... I knew there was a reason I liked you! LOL
Haha nice! :D
I watched this video to the end and also tried to search on your channel -- did you film your gitea video and comparison video yet?
Your help is greatly appreciated.
Thank you.
Hey! No, I'm still working on the Gitea video, that's planned for december ;)
@@christianlempa
Thank you.
I'm only asking because you had written a comment in response to someone else asking you for a comparison with Gitea.
Thanks.
@@ewenchan1239 Oh yeah, so there are 2 videos planned in December, a Gitea tutorial + Gitea vs GitLab comparison, hope that makes sense ;)
can you create theme the digital life for sublime text, i like it so much
I have been using gitlab self-hosted for couple of years, for experiments CICD before i push to gitlab my company 🤣
Nice one 🤣🤣🤣🤣🤣
Have you looked at Gitea?
Shame on you, you haven’t watched the video until the end 😜
@@christianlempa Haha, you got me; so i just watched it to the end. Looking forward to the Gitea episode.
One thing i don't like around Docker, is storing data within the actual container. From what i saw, Gitlab seeds its own internal Postgres instance (though this may have just been the way you set it up)? Gitea allows you to map to an external DB, so i have Gitea running with volume mapping, and Postgres running in its own container, with volume mapping. I use YouTrack (free from Jetbrains for small teams) in its own container for managing projects, which Gitea can supposedly interface to (but i haven't set that up).
You basically use Issues the same way i do, as a to-do list, and a way to keep track of bugs during the testing cycle, but YouTrack takes care of that for me.
@@stevennicholas5472 He explained why he set it up that way, didn't you watch the video?
@@stevennicholas5472 He explained that in the beginning. Didn't you watch the beginning?
@@christianlempa Do you also consider looking at forgejo ? Have not looked into the drama too much, but seems like it's also worth a look.
Thanks and btw. this video vame at the perfect time, was just yesterday looking at what git hosting plattform to choose.
Was a little surprised you didn't deploy it into your pi kube cluster. :) Don't forget to setup doing a backup using the docker exec -t gitlab gitlab-backup create for example.
Haha yeah I want to look at gitea first and then look what to deploy on my cluster :)
@@christianlempa Check forgejo, it's a Gitea fork.
I need to learn how to properly put my mess of scripts into the Git that already exists before I graduate to building my own I think.
Sounds like a plan 😂
Been waiting for this! Hitting like 15 seconds in. :-D
😍
How do you handle the well known memory leak bug?
I tried to host a repo over 100gb once. It didn't work at all and crashed the server. I didn't know about lfs back then lol.
Wow okay 😅
I prefer Gitea for selfhost or small team. Gitlab is very good, but to heavy for me.
Heat at 30 degrees?? Here in Brazil, in the region where I live, the average is 40 and it easily reaches 48 degrees. KKKKKKK
Oh god 😅
Gitlab has a lot more features, but it will be an overkill for most homelab use cases because it is bloated AF. Gitea is nice and lean. The extra features are no worth the bloat for most people
Gitlab is pog champ
But why Gitlab and not Gitea or Forgejo? Is there a specific reason?
Gitea > Gitlab
Hell yes, facts
Hell no
@@blazer511bro check ram usage it does lack some features of GitHub, but most useful ones are already there like CI CD with gitea actions which are completely drop in compatible with GitHub actions
Gitea is lightweight, and lacks ton of gitlab features. They are different categories.
Google: Gitea owner drama
Thoroughly enjoy your videos, I watch them all the time, but it blows my mind how you just end up faking it sometimes.
IF this configuration works, it's relying on other configured services in your traefik config.
This setup even copied exactly onto a brand new docker instance. Along with your traefik container tutorial, just plain out doesn't work. I do have other containers routing through traefik. Just not gitlab. Apparently there is some issue with it not wanting to allow that to happen.
I got the same issue here.
after 5 years, now I say: gitea is mutch better than gitlab.
In what way?
@@chandradenny Lightweight, Simpler Interface,Easy Installation and Maintenance,Faster Performance , Its based on Golang!! (not ruby!!!) , and also after 100 projects It does not need atleast 16GB of RAM!!! it works even with 512 MB
First 🎉
Is that still a challenge in 2024 ?
🤪
Your videos are informative but you move your mouse way too much and it makes me sick
Hi Christian,
Could you please tell where we can find the traefik compose.yml that you're using and also any external config file like traefik.yml
You find it on my homelab GitHub repo! But I’ll make soon an updated traefik tutorial as well :)
@@christianlempa Thank you ! I'm looking forward to see your updated tutorial on traefik and also your Authentik configuration over gitlab.
I've learnt so much watching your videos !
codeberg / forejo ?