How do i setup gitlab-ci runner?

I know gitlab in and out but the gitlab-ci part is really not so straight forward for me
i try to look for video tutorials online but have found nothing helpful

If someone is able to explain how setting up host based and docker based runners and how remote runners can get into remote hosts to deploy codes and all that, will appreciate it.

I don’t mind even paying for such help.