GitLab (fewer requirements)
GitLab (groups and subgroups are much more useful than GitHub’s organizations)
Minimum hardware requirements: 4 vCPU and 4 GB RAM support up to 500 users. No specific recommendation for disk size.
In GitLab, developers can use groups to manage one or more related projects at the same time. One can use groups to manage permissions for his projects. If someone has access to the group, they get access to all the projects in the group. GitLab also supports up to 20 levels of subgroups, which is useful for large organizations or large applications.
Supporting up to 3000 users, requires 8 vCPUs, 48 GB RAM, 300 GB attached storage, 200 GB root storage.
However, organizations can’t be used for giving access to projects. For example, being a member of an organization is not enough for being able to pull and push from that organization’s repos (see here) There is no feature similar to GitLab’s subgroups (there are no “sub-organizations”).