sameersbn / docker-gitlab

Dockerized GitLab
http://www.damagehead.com/docker-gitlab/
MIT License
7.87k stars 2.14k forks source link

GitLab pages not working for CE. #2013

Closed cloudnotify closed 4 years ago

cloudnotify commented 5 years ago

We deployed the GitLab through docker image model and the version is 11.6.3. In this version, we have enabled GitLab pages feature to serve static pages for our test case reports. Configuration have been done as per your documentation, but when we access the generated pages link it says 404 or the site can't be reached.

The parameters we have passed to the docker container is :

GITLAB_PAGES_ENABLED=true GITLAB_PAGES_ACCESS_CONTROL=true GITLAB_PAGES_DOMAIN= GITLAB_PAGES_ARTIFACTS_SERVER=true GITLAB_PAGES_ACCESS_CONTROL_SERVER= GITLAB_PAGES_PORT=8081 GITLAB_PAGES_ACCESS_REDIRECT_URI=http://projects. GITLAB_PAGES_ACCESS_SECRET= GITLAB_PAGES_VERSION=1.3.1 GITLAB_PAGES_NGINX_PROXY=true

Once GitLab docker container made up, I checked, gitlab-pages service are not running inside the docker container.

Kindly check the configurations and guide me to resolve the issue.

danyill commented 4 years ago

@cloudnotify I have been unable to get Gitlab pages working but perhaps in your configuration above GITLAB_PAGES_PORT should be 80 (or 443 or at least match the main web server). I think this is what is suggested in https://github.com/sameersbn/docker-gitlab/blob/73cb6392fdf135f60abf949e5de17c970630ad23/assets/runtime/config/gitlabhq/gitlab.yml#L259

danyill commented 4 years ago

Perhaps it's helpful to compare configurations. Mine is now working it appears (on Gitlab 12.1.6). I'm using https and on the public internet. I have the following configuration values in my docker-compose.yml

    - GITLAB_PAGES_ENABLED=true
    - GITLAB_PAGES_DOMAIN={PAGES-DOMAIN}
    - GITLAB_PAGES_HTTPS=true
    - GITLAB_PAGES_PORT=443
    - GITLAB_PAGES_ACCESS_CONTROL=true
    - GITLAB_PAGES_ACCESS_SECRET=<i've blanked this>
    - GITLAB_PAGES_ACCESS_CONTROL_SERVER=https://{GITLAB_HOST}
    - GITLAB_PAGES_ACCESS_CLIENT_ID=<i've blanked this>
    - GITLAB_PAGES_ACCESS_CLIENT_SECRET=<i've blanked this>
    - GITLAB_PAGES_ACCESS_REDIRECT_URI=https://projects.{PAGES_DOMAIN}/auth

{GITLAB_HOST} should be set equal to the environment variable you have already set to GITLAB_HOST

In my use case {PAGES_DOMAIN} is set to pages.{GITLAB_HOST}

I have a wildcard domain redirecting {PAGES_DOMAIN} so *.{PAGES_DOMAIN} to GITLAB_HOST in addition to the normal A record DNS entry.

I also have placed certificate information for the pages domain at the default locations

SSL_PAGES_KEY_PATH and SSL_PAGES_CERT_PATH by putting them under: /srv/docker/gitlab/gitlab/certs/pages.key and /srv/docker/gitlab/gitlab/certs/pages.crt

I think the only difference between our applications apart from the DNS is the following settings:

    - GITLAB_PAGES_HTTPS=true
    - GITLAB_PAGES_PORT=443

For your application I think these can be simply removed.

Hopefully this is of some use.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had any activity for the last 60 days. It will be closed if no further activity occurs during the next 7 days. Thank you for your contributions.