Deprecated: Creation of dynamic property c2c_AddAdminCSS::$admin_options_name is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$config is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$disable_contextual_help is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$disable_update_check is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$hook_prefix is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$form_name is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$menu_name is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$name is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$nonce_field is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$settings_page is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$show_admin is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$textdomain is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$textdomain_subdir is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 106 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$author_prefix is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 109 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$id_base is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 110 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$options_page is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 111 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$plugin_basename is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 112 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$plugin_file is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 113 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$plugin_path is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 114 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$u_id_base is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 115 Deprecated: Creation of dynamic property c2c_AddAdminCSS::$version is deprecated in /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php on line 116 Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/plugins/add-admin-css/c2c-plugin.php:106) in /var/www/html/wp-includes/rest-api/class-wp-rest-server.php on line 1768 {"id":149,"date":"2022-01-19T13:52:21","date_gmt":"2022-01-19T06:52:21","guid":{"rendered":"https:\/\/erwin.co\/?p=149"},"modified":"2022-07-05T18:31:22","modified_gmt":"2022-07-05T11:31:22","slug":"git-self-hosted-gitlab-vs-gitea-vs-gogs-in-2022","status":"publish","type":"post","link":"https:\/\/erwin.co\/git-self-hosted-gitlab-vs-gitea-vs-gogs-in-2022\/","title":{"rendered":"Git Self Hosted: GitLab vs Gitea vs Gogs in 2022"},"content":{"rendered":"\n
Github is a double edged sword. Use it when you must, but you should self-host whenever possible.<\/p>\n\n\n\n
I started with For me though, After You can find a Gitea feature list here:<\/p>\n\n\n\n https:\/\/docs.gitea.io\/en-us\/comparison\/<\/a><\/p>\n\n\n\n Here's an old sysadmin rule of thumb: If it involves In all fairness, I spent a long time actually getting I would recommend So I spent far more hours than I'm proud to admit trying to get If you're just looking for a simple, self hosted https:\/\/github.com\/gogs\/gogs<\/a><\/p>\n\n\n\n Another nice \"self hosted\" option is cgit<\/a> but the default interface is very dated, and it's even more minimal than my ideal feature set.<\/p>\n\n\n\ngitlab<\/code> as it was the most popular
github<\/code> alternative at the time, and I think for medium-large businesses hosting their own local, dedicated git instance,
gitlab<\/code> is probably a good choice.<\/p>\n\n\n\n
gitlab<\/code> wad definitely overkill. The upgrades get very complicated, and I'm ultimately just not a big Ruby on Rails fan... I just wanted locally hosted
git<\/code> that I could also browse easily via
http<\/code>, especially to graphically view older commits and branches, because every once in a while I do leave the terminal...<\/p>\n\n\n\n
gitlab<\/code> my next solution was
Gitea<\/code>, as I read it was a community fork of
gogs<\/code> so I assumed it must be better... In hindsight, I would say
Gitea<\/code> is working hard to compete with
GitLab<\/code>. That's fine, but `GitLab` is actually what I wanted to get away from.<\/p>\n\n\n\n
LDAP<\/code>, run the other way!<\/p>Me, screaming... every time I do something with LDAP...<\/cite><\/blockquote>\n\n\n\n
LDAP<\/code> is necessary for directory based authorization and authentication. With lots of users, you're kind of stuck with it and so you better know how it works. Everything connected to
X.509<\/code> is a whole different mindset than the rest of the Linux and Open Source movement. If software had an attitude, ldap software and the zshell would be at opposite edges of the attitude spectrum.<\/p>\n\n\n\n
gitea<\/code> to work in my particular configuration, and just ended up dedicating way more time to it than I really wanted to. For me,
git<\/code> isn't very much different from
samba<\/code>... I just want it to work so I can focus on problems that I'm more interested in.<\/p>\n\n\n\n
gitea<\/code> to anyone looking at
gitlab<\/code> and vice versa. These two are very similar. I think that blindly running either of them in a container just because you can is asking for trouble though. Go through the manual instillation and know how to set things up from scratch. If you can't do that, you shouldn't run it, because you won't be able to fix it when things go wrong. You want a sysadmin that knows how to set these up and how to manage them, back them up, and fix problems along the way.<\/p>\n\n\n\n
gitea<\/code> working in my particular environment, but when I decided to switch over to
gogs<\/code>, I had it all working and my old repos migrated over within 30 minutes.<\/p>\n\n\n\n
git<\/code> server via `https` in 2022, I think that
gogs<\/code> is what you are looking for.<\/p>\n\n\n\n