···4242 </listitem>
43434444 <listitem>
4545- <para>Redis now binds to 127.0.0.1 only instead of listening to all network interfaces. This is the default
4545+ <para>Redis now binds to 127.0.0.1 only instead of listening to all network interfaces. This is the default
4646 behavior of Redis 3.2</para>
4747+ </listitem>
4848+4949+ <listitem>
5050+ <para>Gitlab's maintainence script gitlab-runner was removed and split up into the more clearer
5151+ gitlab-run and gitlab-rake scripts because gitlab-runner is a component of Gitlab CI.</para>
4752 </listitem>
48534954</itemizedlist>
···1414<literal>/run/gitlab/gitlab-workhorse.socket</literal>. You need to configure a
1515webserver to proxy HTTP requests to the socket.</para>
16161717-<para>For instance, this could be used for Nginx:
1717+<para>For instance, the following configuration could be used to use nginx as
1818+ frontend proxy:
18191920<programlisting>
2020-services.nginx.httpConfig = ''
2121- server {
2222- server_name git.example.com;
2323- listen 443 ssl spdy;
2424- listen [::]:443 ssl spdy;
2525-2626- ssl_certificate /var/lib/acme/git.example.com/fullchain.pem;
2727- ssl_certificate_key /var/lib/acme/git.example.com/key.pem;
2828-2929- location / {
3030- proxy_http_version 1.1;
3131- proxy_set_header Host $http_host;
3232- proxy_set_header X-Real-IP $remote_addr;
3333- proxy_set_header X-Forwarded-Ssl on;
3434- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3535- proxy_set_header X-Forwarded-Proto $scheme;
3636-3737- proxy_pass http://unix:/run/gitlab/gitlab-workhorse.socket;
3838- }
3939- }
2121+ services.nginx = {
2222+ enable = true;
2323+ recommendedGzipSettings = true;
2424+ recommendedOptimisation = true;
2525+ recommendedProxySettings = true;
2626+ recommendedTlsSettings = true;
2727+ virtualHosts."git.example.com" = {
2828+ enableACME = true;
2929+ forceSSL = true;
3030+ locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
3131+ };
3232+ };
4033'';
4134</programlisting>
4235</para>
···4942both services. In the case of PostgreSQL, a database and a role will be created.
5043</para>
51445252-<para>The default state dir is /var/gitlab/state. This is where all data like
5353-the repositories and uploads will be stored.</para>
4545+<para>The default state dir is <literal>/var/gitlab/state</literal>. This is where
4646+all data like the repositories and uploads will be stored.</para>
54475555-<para>A basic configuration could look like this:
4848+<para>A basic configuration with some custom settings could look like this:
56495750<programlisting>
5851services.gitlab = {
···6457 port = 443;
6558 user = "git";
6659 group = "git";
6060+ smtp = {
6161+ enable = true;
6262+ address = "localhost";
6363+ port = 25;
6464+ };
6765 extraConfig = {
6866 gitlab = {
6767+ email_from = "gitlab-no-reply@example.com";
6868+ email_display_name = "Example GitLab";
6969+ email_reply_to = "gitlab-no-reply@example.com";
6970 default_projects_features = { builds = false; };
7071 };
7172 };
···80818182<section><title>Maintenance</title>
82838383-<para>You can run all Gitlab related commands like rake tasks with
8484-<literal>gitlab-runner</literal> which will be available on the system
8585-when gitlab is enabled. You will have to run the commands as the user that
8686-you configured to run gitlab.</para>
8484+<para>You can run Gitlab's rake tasks with <literal>gitlab-rake</literal>
8585+which will be available on the system when gitlab is enabled. You will
8686+have to run the command as the user that you configured to run gitlab
8787+with.</para>
87888888-<para>For instance, to backup a Gitlab instance:
8989+<para>For example, to backup a Gitlab instance:
89909091<programlisting>
9191-$ sudo -u git -H gitlab-runner exec rake gitlab:backup:create
9292+$ sudo -u git -H gitlab-rake gitlab:backup:create
9293</programlisting>
93949495A list of all availabe rake tasks can be obtained by running:
95969697<programlisting>
9797-$ sudo -u git -H gitlab-runner exec rake -T
9898+$ sudo -u git -H gitlab-rake -T
9899</programlisting>
99100</para>
100101