summaryrefslogtreecommitdiff
path: root/doc/pages/administration.md
diff options
context:
space:
mode:
authorAchilleas Pipinellis <axilleas@axilleas.me>2016-02-21 20:52:15 +0200
committerJames Edwards-Jones <jedwardsjones@gitlab.com>2017-01-31 22:55:29 +0000
commitacf7ae5ed80ec39d26dbd37c09bc0f3eb78e1628 (patch)
treee5a9beeb4b9eca53fe9b2ac8223198cfdb0d5617 /doc/pages/administration.md
parentf8927dad8c1f2940953d6694a8b7f507dbe0c3e4 (diff)
downloadgitlab-ce-acf7ae5ed80ec39d26dbd37c09bc0f3eb78e1628.tar.gz
Add info about the pages daemon
Diffstat (limited to 'doc/pages/administration.md')
-rw-r--r--doc/pages/administration.md49
1 files changed, 45 insertions, 4 deletions
diff --git a/doc/pages/administration.md b/doc/pages/administration.md
index fc858cd20e7..3f3d6cac9b2 100644
--- a/doc/pages/administration.md
+++ b/doc/pages/administration.md
@@ -37,11 +37,52 @@ probably want to read the [user documentation](README.md).
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
-## Architecture
+## The GitLab Pages daemon
-GitLab uses a separate tool ([gitlab-pages]), a simple HTTP server written in
-Go that serves GitLab Pages with CNAMEs and SNI using HTTP/HTTP2. You are
-encouraged to read its [README][pages-readme] to fully understand how it works.
+Starting from GitLab EE 8.5, Pages make use of a separate tool ([gitlab-pages]),
+a simple HTTP server written in Go that serves GitLab Pages with CNAMEs and SNI
+using HTTP/HTTP2. You are encouraged to read its [README][pages-readme] to fully
+understand how it works.
+
+What is supported when using the pages daemon:
+
+- Multiple domains per-project
+- One TLS certificate per-domain
+ - Validation of certificate
+ - Validation of certificate chain
+ - Validation of private key against certificate
+
+---
+
+In the case of custom domains, the Pages daemon needs to listen on ports `80`
+and/or `443`. For that reason, there is some flexibility in the way which you
+can set it up, so you basically have three choices:
+
+1. Run the pages daemon in the same server as GitLab, listening on a secondary IP
+1. Run the pages daemon in the same server as GitLab, listening on the same IP
+ but on different ports. In that case, you will have to proxy the traffic with
+ a loadbalancer.
+1. Run the pages daemon in a separate server. In that case, the Pages [`path`]
+ must also be present in the server that the pages daemon is installed, so
+ you will have to share it via network.
+
+[`path`]: https://gitlab.com/gitlab-org/gitlab-ee/blob/8-5-stable-ee/config/gitlab.yml.example#L155
+
+### Install the Pages daemon
+
+**Install the Pages daemon on a source installation**
+
+```
+cd /home/git
+sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-pages.git
+cd gitlab-pages
+sudo -u git -H git checkout 0.2.0
+sudo -u git -H make
+```
+
+**Install the Pages daemon on Omnibus**
+
+The `gitlab-pages` daemon is included in the Omnibus package.
[pages-readme]: https://gitlab.com/gitlab-org/gitlab-pages/blob/master/README.md