Gitlab installation

eazysnatch

Cadet
Joined
Dec 11, 2023
Messages
2
Hey there,

I want to migrate my docker-compose Gitlab to TrueNAS, and I found out that there is no "Application" for that. I started digging into how TrueNAS implements Kubernetes and its k3s, but there is a lack of documentation. What I found is to begin with "TrueCharts" and make my chart of GitLab, and maybe that is the way I can start.

Where can I get deep-dive info about TrueNAS and k3s implementation? My main goal is to have a gitlab in a container env. I can run a VM and do it there, but I don't want to waste resources.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
What I found is to begin with "TrueCharts" and make my chart of GitLab
Huh? I guess TrueCharts might give examples of how a chart is built, but really they aren't relevant here. You have two relatively straightforward options:
  • Use the "Custom App" feature in the UI to launch a container of your choice--likely the simplest way to go if your installation requires only one docker image (which appears to be the case if following the GitLab docs), or
  • Use the Docker-Compose app from Truecharts to launch your docker-compose file
Both relatively straightforward, nothing you need to build or code there.

Now, if you really want to build an "app," you'd need to look into Helm charts, because that's what the SCALE apps are.
 

eazysnatch

Cadet
Joined
Dec 11, 2023
Messages
2
Thank you buddy i checked the Custom Apps but my gitlab and the best way to do it is micorservices which are currently 4 and if you want more services like "CI runners" you need more, so simple custom apps does not do the job.

Docker-Compose is using Docker, which is a bad idea because TrueNAS is using k3s which uses 'containerd' as a container runtime. So you will run containerd and then docker to be able to run your stuff, which is too much complexity.

Docker has been gone from Kubernetes for a long time because it is one big fat application. It has storage, networking, build images, and running containers. We don't need that in Kubernetes. We have CRI , CNI, and CSI, and you can choose what application to use. That is why containers will take care only of the container lifecycle and don't care about networking and storage.
 

Perry The Cynic

Dabbler
Joined
Aug 15, 2023
Messages
34
For what it's worth, I'm running GitLab's "all in one" container as a custom app on TrueNAS SCALE. It's a bit tedious to set up (lots of storage hookups), but not inherently hard. I run several "naked" runners as separate custom apps alongside.

You can't run a container runner on TrueNAS SCALE as an app, because there's no host docker runtime to connect to. I use a nearby Mac (with Docker Desktop) as a container runner, but you could also turn up a small VM for that. (FWIW, GitLab recommends not running its runners on the same machine as GitLab itself.)

It's a hog (7-8GB RAM out of the box, about 1/2 CPU idle), but it works fine without needing to unbundle the (heavy) content. I plan to trim it down in the future if I need some of that back...

Cheers
-- perry
 
Top