diff options
Diffstat (limited to 'nixos/modules/services/misc/gitlab.xml')
-rw-r--r-- | nixos/modules/services/misc/gitlab.xml | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml deleted file mode 100644 index a193657b0b76..000000000000 --- a/nixos/modules/services/misc/gitlab.xml +++ /dev/null @@ -1,143 +0,0 @@ -<!-- Do not edit this file directly, edit its companion .md instead - and regenerate this file using nixos/doc/manual/md-to-db.sh --> -<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-gitlab"> - <title>GitLab</title> - <para> - GitLab is a feature-rich git hosting service. - </para> - <section xml:id="module-services-gitlab-prerequisites"> - <title>Prerequisites</title> - <para> - The <literal>gitlab</literal> service exposes only an Unix socket - at <literal>/run/gitlab/gitlab-workhorse.socket</literal>. You - need to configure a webserver to proxy HTTP requests to the - socket. - </para> - <para> - For instance, the following configuration could be used to use - nginx as frontend proxy: - </para> - <programlisting> -services.nginx = { - enable = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - virtualHosts."git.example.com" = { - enableACME = true; - forceSSL = true; - locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket"; - }; -}; -</programlisting> - </section> - <section xml:id="module-services-gitlab-configuring"> - <title>Configuring</title> - <para> - GitLab depends on both PostgreSQL and Redis and will automatically - enable both services. In the case of PostgreSQL, a database and a - role will be created. - </para> - <para> - The default state dir is <literal>/var/gitlab/state</literal>. - This is where all data like the repositories and uploads will be - stored. - </para> - <para> - A basic configuration with some custom settings could look like - this: - </para> - <programlisting> -services.gitlab = { - enable = true; - databasePasswordFile = "/var/keys/gitlab/db_password"; - initialRootPasswordFile = "/var/keys/gitlab/root_password"; - https = true; - host = "git.example.com"; - port = 443; - user = "git"; - group = "git"; - smtp = { - enable = true; - address = "localhost"; - port = 25; - }; - secrets = { - dbFile = "/var/keys/gitlab/db"; - secretFile = "/var/keys/gitlab/secret"; - otpFile = "/var/keys/gitlab/otp"; - jwsFile = "/var/keys/gitlab/jws"; - }; - extraConfig = { - gitlab = { - email_from = "gitlab-no-reply@example.com"; - email_display_name = "Example GitLab"; - email_reply_to = "gitlab-no-reply@example.com"; - default_projects_features = { builds = false; }; - }; - }; -}; -</programlisting> - <para> - If you’re setting up a new GitLab instance, generate new secrets. - You for instance use - <literal>tr -dc A-Za-z0-9 < /dev/urandom | head -c 128 > /var/keys/gitlab/db</literal> - to generate a new db secret. Make sure the files can be read by, - and only by, the user specified by - <link linkend="opt-services.gitlab.user">services.gitlab.user</link>. - GitLab encrypts sensitive data stored in the database. If you’re - restoring an existing GitLab instance, you must specify the - secrets secret from <literal>config/secrets.yml</literal> located - in your GitLab state folder. - </para> - <para> - When <literal>incoming_mail.enabled</literal> is set to - <literal>true</literal> in - <link linkend="opt-services.gitlab.extraConfig">extraConfig</link> - an additional service called <literal>gitlab-mailroom</literal> is - enabled for fetching incoming mail. - </para> - <para> - Refer to <xref linkend="ch-options" /> for all available - configuration options for the - <link linkend="opt-services.gitlab.enable">services.gitlab</link> - module. - </para> - </section> - <section xml:id="module-services-gitlab-maintenance"> - <title>Maintenance</title> - <section xml:id="module-services-gitlab-maintenance-backups"> - <title>Backups</title> - <para> - Backups can be configured with the options in - <link linkend="opt-services.gitlab.backup.keepTime">services.gitlab.backup</link>. - Use the - <link linkend="opt-services.gitlab.backup.startAt">services.gitlab.backup.startAt</link> - option to configure regular backups. - </para> - <para> - To run a manual backup, start the - <literal>gitlab-backup</literal> service: - </para> - <programlisting> -$ systemctl start gitlab-backup.service -</programlisting> - </section> - <section xml:id="module-services-gitlab-maintenance-rake"> - <title>Rake tasks</title> - <para> - You can run GitLab’s rake tasks with - <literal>gitlab-rake</literal> which will be available on the - system when GitLab is enabled. You will have to run the command - as the user that you configured to run GitLab with. - </para> - <para> - A list of all available rake tasks can be obtained by running: - </para> - <programlisting> -$ sudo -u git -H gitlab-rake -T -</programlisting> - </section> - </section> -</chapter> |