4 ms·
How is it painless? I've been using gitlab since v7 and looking at the install instructions of gogs remind me of gitlab a lot. I recently got rid of my persona
by INTPenis 8y ago
How is it painless? I've been using gitlab since v7 and looking at the install instructions of gogs remind me of gitlab a lot.
I recently got rid of my personal gitlab because it's too painful to operate. I only need a simple ssh user with a directory for my own purposes.
Gitlab is only necessary at work where we are an entire team using it.
- pmoriarty 8y agoWhat made it so painful?
- dijit 8y agoGitlab? gitlab is quite painful. the guides hide the complexity because if you're able to get away with omnibus installation (or, docker installation) then you're going to be fine.. (unless it breaks, which to gitlabs credit, it doesn't). But as soon as you start touching HA, you have to unbuckle all of it's components, and that's where it becomes a real, real pain. Because gitlab does not assume you will do this and starts _freaking_ out when it tries to start something which doesn't exist on the local system. It takes a long time to find all the dials and triggers to turn local starting off, and even then you basically have a full omnibus installation sitting on each of your nodes, because even if features are turned off they sometimes need some part of the code for the feature. At this point upgrading anything is not just a tedious process, it's also error-prone and time consuming. Take every web-node down, upgrade the local packages on the web node you use to upgrade the database, then do the db migrations, then you go around upgrading everything else to the latest version, then you can slowly bring everything online and hope that it works. Don't event get me started on extending it's authentication system.
- matteeyah 8y agoFWIW GitLab HA has improved a lot recently - see https://about.gitlab.com/solutions/high-availability/ https://about.gitlab.com/solutions/high-availability/ for an overview You can open issues about specific complaints in [1] and [2]. [1] - https://gitlab.com/gitlab-org/gitlab-ce https://gitlab.com/gitlab-org/gitlab-ce [2] - https://gitlab.com/gitlab-org/omnibus-gitlab https://gitlab.com/gitlab-org/omnibus-gitlab
- INTPenis 8y agoMostly Sidekiq. Even with virtually unlimited resources sidekiq gave me a lot of headaches. Funny enough I believe I finally figured it out, after years! It was hanging on mail notification jobs because the MTA wasn't properly setup. Once the MTA was fixed sidekiq was working better and I was also receiving mail notifications. Even so, syncing with AD I get internal names like shortname@addomain.local and most users don't update their profile. Thankfully the MTA just queues them and discards them without blocking sidekiq. I've worked a lot with async jobs in Python using both RMQ and rq, I don't see why sidekiq should be such an issue. I've never had issues like that myself in my own projects. Also felt that it was hard to manage compared to my own experiences with job management in Python. Adding to the frustration was having to understand a (to me) foreign language like Ruby. Something I never wanted to learn and avoided successfully. I ended up having to write a little bit of code that could kill sidekiq jobs because I couldn't figure out how to do it through any interface provided by Gitlab.
- XorNot 8y ago"docker run..." set and forget? I think the most complicated thing I do with it is have a script which writes my LDAP server's credentials into it automatically.
- yalue 8y agoHaving set up both, Gogs is much easier to set up than gitlab, and I don't know how the install instructions are similar. Gogs' are, from https://gogs.io/docs/installation/install_from_binary https://gogs.io/docs/installation/install_from_binary, essentially "download and run". The binary build they provide even has sqlite3 support out of the box, so you don't even need to install a database if you're only working with a small group. Also, gogs is far more performant than gitlab, and will happily run on an older raspberry pi.
- INTPenis 8y agoFirst of all the page you linked is not the page linked from the landing page. https://gogs.io/docs/installation https://gogs.io/docs/installation I've always avoided the docker setup because I want control of where my database is and such details. But yeah all I see when I look at the install instructions are the same steps as gitlab requires, unless you use Docker. It would be possible for them to make a simpler package for simple users where they'd use sqlite for example. This can easily be upgraded to Postgres/MariaDB. I like the ROOT setting because that means I can easily adopt gogs on my existing personal git server which simply uses a gitrepos directory in a home directory on a closet server. So hypothetically were they to use a default database setting, and a default ROOT setting, you could have a working gogs setup with just two package manager commands, one to add the repo and one to install the package. That's painless! Advanced step can be to create a mysql database and import your sqlite data.
- dsumenkovic 8y agoHello, Community Advocate from GitLab here. I would love to share this little piece of information about GitLab installation with everyone. Since there was a little confusion mentioning GitLab installation, I would love to clarify that our installation page [1] offers many different approaches. Before the installation process, please make sure that you read our Installation doc [2]. The Omnibus package may be the best choice installation since it is quicker to install, easier to upgrade, and it contains features to enhance reliability not found in other methods [2]. [1] https://about.gitlab.com/install/ https://about.gitlab.com/install/ [2] https://docs.gitlab.com/ee/install/ https://docs.gitlab.com/ee/install/ [3] Other official installation methods are via Docker, Kubernetes, Google Cloud Platform etc.
- antoineMoPa 8y agoFor more info on ssh+git: Self hosting private repositories with ssh and/or folders or shared buisness folders is actually very easy with git. Yes, you can add any folder as a git remote. Just 'git init --bare' somewhere safe to keep the files and 'git remote add somefolder some_folder_path_or_ssh_path_like_you_would_put_for_scp'. Then you can 'git push origin somefolder'.