This project creates full-stack platform-specific downloadable packages for GitLab. For other installation options please see the GitLab installation page.
The source of omnibus-gitlab is hosted on GitLab.com and there are mirrors to make contributing as easy as possible.
The documentation overview is in the doc directory.
Omnibus GitLab is using a fork of omnibus project. For additional information see the comments in the Gemfile.
We left the links below in the readme to preserve old links, but please use the index in the doc directory to browse the complete documentation.
Please see the contribution guidelines
Please follow the steps on the downloads page.
Your GitLab instance should be reachable over HTTP at the IP or hostname of your
server. You can login as an admin user with username root
and password 5iveL!fe
.
See doc/maintenance/README.md for useful commands to control/debug your GitLab instance.
See doc/settings/configuration.md.
See doc/settings/configuration.md.
See doc/settings/configuration.md.
See doc/settings/configuration.md.
See doc/settings/ldap.md.
For using an existing Nginx, Passenger, or Apache webserver see doc/settings/nginx.md.
To connect to an external PostgreSQL DBMS see doc/settings/database.md
See doc/settings/environment-variables.md.
See doc/settings/gitlab.yml.md.
See doc/settings/configuration.md.
See doc/settings/smtp.md.
Omniauth configuration is documented in docs.gitlab.com.
See doc/settings/configuration.md.
Instructions for updating your Omnibus installation and upgrading from a manual installation are in the update doc.
To remove all users and groups created by Omnibus GitLab,
run sudo gitlab-ctl stop && sudo gitlab-ctl remove-accounts
before removing the gitlab package (with dpkg
or yum
).
If you have problems removing accounts or groups, run luserdel
or lgroupdel
manually
to delete them. You might also want to manually remove the leftover user home directories
from /home/
.
To remove all omnibus-gitlab data use sudo gitlab-ctl cleanse && sudo rm -r /opt/gitlab
.
To uninstall omnibus-gitlab, preserving your data (repositories, database, configuration), run the following commands.
# Stop gitlab and remove its supervision process
sudo systemctl stop gitlab-runsvdir
sudo systemctl disable gitlab-runsvdir
sudo rm /usr/lib/systemd/system/gitlab-runsvdir.service
sudo systemctl daemon-reload
sudo gitlab-ctl uninstall
# (Replace with gitlab-ce if you have GitLab FOSS installed)
# Debian/Ubuntu
sudo apt remove gitlab-ee
# Redhat/Centos
sudo yum remove gitlab-ee
This section has been moved to the separate document doc/common_installation_problems/README.md.
Section below remains for historical reasons(mainly to not break existing links). Each section contains the link to the new location.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See doc/common_installation_problems/README.md.
See backup restore documentation.
If you are using non-packaged database see documentation on using non-packaged database.
For details check backup restore document of GitLab CE.
Omnibus-gitlab uses four different directories.
/opt/gitlab
holds application code for GitLab and its dependencies./var/opt/gitlab
holds application data and configuration files thatgitlab-ctl reconfigure
writes to./etc/gitlab
holds configuration files for omnibus-gitlab. These are the only files that you should ever have to edit manually./var/log/gitlab
contains all log data generated by components of omnibus-gitlab.
Although omnibus-gitlab runs on systems that have SELinux enabled, it does not use SELinux confinement features:
- omnibus-gitlab creates unconfined system users;
- omnibus-gitlab services run in an unconfined context.
The correct operation of Git access via SSH depends on the labeling of
/var/opt/gitlab/.ssh
. If needed you can restore this labeling by running
sudo gitlab-ctl reconfigure
.
Depending on your platform, gitlab-ctl reconfigure
will install SELinux
modules required to make GitLab work. These modules are listed in
files/gitlab-selinux/README.md.
NSA, if you're reading this, we'd really appreciate it if you could contribute back a SELinux profile for omnibus-gitlab :) Of course, if anyone else is reading this, you're welcome to contribute the SELinux profile too.
This section has been moved to separate document doc/settings/logs.md.
See doc/settings/logs.md.
See doc/settings/logs.md.
See doc/settings/logs.md.
See the separate build documentation.
It is not recommended to make changes to any of the files in /opt/gitlab
after installing omnibus-gitlab: they will either conflict with or be
overwritten by future updates. If you want to run a custom version of GitLab
you can build your own package or use another installation
method.
This omnibus installer project is based on the awesome work done by Chef in omnibus-chef-server.