0

I am considering using GitLab as an authentication and Git repo service (for my open hardware electronics site kitnic.it). I don't need the front-end at all as I want to write my own front-end that makes use of the API.

I am aware that I can configure Nginx to not give visitors access to the UI but I would also like to cut down on resources (mainly memory) used by GitLab. Can I run GitLab CE as an API only?

I have just installed the omnibus package and played around a little bit but would be willing to go the more manual route if that's required.

kasbah
  • 903
  • 5
  • 23
  • 1
    Pretty sure you could do this by forking gitlab and decoupling the UI from the API. – Peter Reid Feb 27 '17 at 08:50
  • Indeed, seems like it should possible and I have started digging around the source. I guess I am interested to find out: how hard will it be and will it actually save on RAM usage? – kasbah Feb 27 '17 at 15:18
  • Sorry, not really sure to be honest, my experience in Ruby is very minimal. – Peter Reid Feb 27 '17 at 15:24

1 Answers1

2

Because we have built GitLab as a Ruby-on-Rails application, the decoupling is not as straightforward as you might like. If you wanted to service just the API, from the Omnibus, you would still need to run the entire stack as everything is coupled together in the ecosystem. Requests come in via the Nginx front-end and are handed back into Workhorse for queing and some git functions, Unicorn is needed to parse and act on the requests, as is Sidekiq for queue processing. Redis is what the work queue is stored in and PostgreSQL is the data layer that ties it all together.

  • Thanks for the answer! So it's probably quite hard to do and wouldn't necessarily reduce memory usage? – kasbah Mar 02 '17 at 17:37