Also, if GitHub is down you can still fetch your dependencies from somewhere else.
I once worked in a group that used SVN for SCM, mediawiki for wiki and Trac for tickets. I voiced my opinion about that setup many times but management felt that was the most efficient way to work...
Products like indefero/srchub have all of that from a single interface and it's very easy to maintain. I don't know how easy gitlab is to install/maintain - perhaps sytse can pop in and go into detail about that. Assuming the system works the maintenance would be minimal.
And then you can set a daily nightly cron for: sudo apt-get update sudo apt-get install gitlab-ce
Don't forget to take snapshots of your server for backups.
AHHHH!!!! Don't recommend doing that. Only those who are crazy do that. Imagine waking up in the morning and your SCM system is broken due to an update that was automatically applied - I wouldn't want a sysadmin (or developer) to see that before their first cup of coffee.
When you update - does it automatically apply migrations or other database upgrades that might be necessary?
By default the Omnibus packages will stop, run migrations, and start again, no matter how “big” or “small” the upgrade is. The behaviour can be changed by adding a /etc/gitlab/skip-auto-migrations file.
Obviously if you installation grows you can review the needed upgrades in advance and prevent downtime in most cases.