Return to Level1Techs.com

Gitlab on Raspberry Pi 4

soc
#1

Hi Guys,

i wonder if the rpi4 is supported by gitlab? I installed gitlab on my rpi3 a while ago but ram limitations made it impossible to have a good performance. So i went with gitea on my rpi3… but i really miss gitlabCI and i dont want to use jenkins etc. if i can just use gitlabCI instead.

Please share your knowledge/experience with me :slight_smile:

0 Likes

#2

No you really need the 4gb of ram.

For single user I think the ARM would be fine but its mostly the RAM gitlab eats.

And once you throw runners into the mix it just gets worse from there.

2 Likes

#3

Do you want to install gitlab or a gitlab-ci-runner on your pi or both?

4GB of ram is what gitlab recommends as the minimum amount of ram to get a good experience out of it. Deffinitely agree with that 2GB ram gave me ‘The application is not responding’ after every commit.

For runners its recommend you install them on another machine entierly. But it is deffinitely possible to install them on the same 4GB ram machine and have a good experience. It just wont scale much.

The new pi has 4GB ram so… get the 4GB ram pi and you should be fine.

0 Likes

#4

Well, i am going to buy the rpi4 with 4gb ram :slight_smile: … soo thats why i am asking about gitlab support for rpi4

0 Likes

#5

great, thats what i was looking for. I just can find the “gitlab for rpi2”. Do you think i am fine installing it on the rpi4?

0 Likes

#6

They have a ‘how to install gitlab on a pi’ on their website. So presumably they do. But I dont run mine on an arm system either.

0 Likes

#7

Alright, i think i’ll just go ahead and test it. Thanks for your answers!

0 Likes

#8

I’ve got mine running on kubernetes ARM hosts that have 4GB of ram, (not RPI 4s, but something else) If you want to play around with it on a pi4, it’ll work just fine. I’d be concerned about the ci runners on the same unit though, you might want to grab a 2GB variant for the runners.

0 Likes

#9

For light ci usage it can work. It worked fine for me at first. I had it build docker images once a week. That was really all. But now Im also instead installing the runners on my NAS at home (the gitlab is on digital ocean).

Really cool that it allows you that. Also makes the runners more portable (and I have access to all the stuff running at home). If you decide to you can move your project to gitlab.com and register the runner for the project.

0 Likes

#10

Yeah, I’ve got multiple gitlab instances all connecting to my kubernetes cluster to run builds. We’ve got ARM and AMD64 on there, so I can do all the builds and tests I need across personal, volunteer projects, pet projects and professional stuff.

1 Like

#11

Mhh, i am currently stuck :s i added the ppas but when i tried installing gitlab it says that i am missing some ruby dependencys… but i have installed them all. I am also struggling building it from source.

0 Likes

#12

Have you used the omnibus install?

It (should) install all the bits and pieces you need. Manual install and building from source are A LOT more work.

0 Likes

#13

Yes, thats the way it tells me i have dependency problems.

The following packages have unmet dependencies:
 gitlab : Depends: ruby-rails (< 2:5)
          Depends: ruby-pg (>= 0.19~) but it is not going to be installed
          Depends: ruby-fog-aliyun (>= 0.2.0~) but it is not going to be installed
          Depends: ruby-sidekiq-cron (>= 0.6~) but it is not going to be installed
          Depends: ruby-kubeclient (>= 3.1~) but it is not going to be installed
          Depends: ruby-rails-i18n (>= 4.0.9~) but it is not going to be installed
          Depends: ruby-peek-pg (>= 1.3~) but it is not going to be installed
          Recommends: certbot but it is not going to be installed
          Recommends: gitaly (>= 0.129.0~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

And dpkg --get-selections | grep hold shows nothing

As i said, it doesnt matter if i previously installed ruby dependencys :frowning:

0 Likes

#14

What does dpkg -l ruby-rails ruby-pg (and all the rest until ruby-peek-pg) tell you? What versions do you have?

0 Likes

#15

what version of these packages is in the repos?

0 Likes

#16

The fun thing about this is when I look on my install of gitlab install for ruby-rails

apt-cache policy ruby-rails

reports

Installed: (none)
  Candidate: 2:4.2.10-0ubuntu4

dpkg also tells me I do not have ruby-rails installed.

Witch to me would indicate that similarly to how they bundle nginx with their omnibus install they do not actually use the ruby from your repos, but a bundled version that’s exactly what they need instead from their own repos.

So I’m not very convinced anymore that instlaling packages would fix that without trying it on a pi myself.

But things may be different on the arm builds. Since it tells you to look for that version try and find if you can install it anyways.


Community docker images would be an option, but the official one does not seem to support arm either.

0 Likes

#17

As others mentioned above, for a couple of users and basic usage of gitlab it could be an option for the latest rPI4 with 4 gigs of ram.

Though, I would ensure that you don’t run it off the SD card and store it on another more reliable storage medium and have a solid backup solution.

I use a cheap cloud instance to run gitlab and it’s only a couple of bucks a month.

2 Likes

#18

could you tell me what cheap cloud instance which has more then 4gb ram?

0 Likes

#19

there are plenty of instances out there. Check Digital Ocean or Linode if you want something.

1 Like

#20

Digital Ocean, pm me for an invite code and we both get some free credit.

0 Likes