How to run CI from user's fork

We want to allow merge requests from external contributors without granting them developer rights. They would work in a fork. From there, they submit a merge request against our main branch. Thereby they trigger CI. However, CI fails with timeout. (We are running CI locally, with gitlab-runners fully under our control). What can we do to allow CI to be run from forks?