Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
This commit is contained in:
commit
3a723ad24c
|
@ -0,0 +1,36 @@
|
||||||
|
# Data: docker run --name gitlab_data genezys/gitlab:7.5.1 /bin/true
|
||||||
|
# Run: docker run --detach --name gitlab --publish 8080:80 --publish 2222:22 --volumes-from gitlab_data genezys/gitlab:7.5.1
|
||||||
|
|
||||||
|
FROM ubuntu:14.04
|
||||||
|
MAINTAINER Vincent Robert <vincent.robert@genezys.net>
|
||||||
|
|
||||||
|
# Install required packages
|
||||||
|
RUN apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qy \
|
||||||
|
openssh-server \
|
||||||
|
wget \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# Download & Install GitLab
|
||||||
|
RUN TMP_FILE=$(mktemp); \
|
||||||
|
wget -q -O $TMP_FILE https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.5.1-omnibus.5.2.0.ci-1_amd64.deb \
|
||||||
|
&& dpkg -i $TMP_FILE \
|
||||||
|
&& rm -f $TMP_FILE
|
||||||
|
|
||||||
|
# Manage SSHD through runit
|
||||||
|
RUN mkdir -p /opt/gitlab/sv/sshd/supervise \
|
||||||
|
&& mkfifo /opt/gitlab/sv/sshd/supervise/ok \
|
||||||
|
&& printf "#!/bin/sh\nexec 2>&1\numask 077\nexec /usr/sbin/sshd -D" > /opt/gitlab/sv/sshd/run \
|
||||||
|
&& chmod a+x /opt/gitlab/sv/sshd/run \
|
||||||
|
&& ln -s /opt/gitlab/sv/sshd /opt/gitlab/service \
|
||||||
|
&& mkdir -p /var/run/sshd
|
||||||
|
|
||||||
|
# Expose web & ssh
|
||||||
|
EXPOSE 80 22
|
||||||
|
|
||||||
|
# Volume & configuration
|
||||||
|
VOLUME ["/var/opt/gitlab", "/var/log/gitlab", "/etc/gitlab"]
|
||||||
|
ADD gitlab.rb /etc/gitlab/
|
||||||
|
|
||||||
|
# Default is to run runit & reconfigure
|
||||||
|
CMD gitlab-ctl reconfigure > /var/log/gitlab/reconfigure.log & /opt/gitlab/embedded/bin/runsvdir-start
|
|
@ -0,0 +1,42 @@
|
||||||
|
What is GitLab?
|
||||||
|
===============
|
||||||
|
|
||||||
|
GitLab offers git repository management, code reviews, issue tracking, activity feeds, wikis. It has LDAP/AD integration, handles 25,000 users on a single server but can also run on a highly available active/active cluster. A subscription gives you access to our support team and to GitLab Enterprise Edition that contains extra features aimed at larger organizations.
|
||||||
|
|
||||||
|
<https://about.gitlab.com>
|
||||||
|
|
||||||
|
![GitLab Logo](https://gitlab.com/uploads/appearance/logo/1/brand_logo-c37eb221b456bb4b472cc1084480991f.png)
|
||||||
|
|
||||||
|
|
||||||
|
How to use this image.
|
||||||
|
======================
|
||||||
|
|
||||||
|
I recommend creating a data volume container first, this will simplify migrations and backups:
|
||||||
|
|
||||||
|
docker run --name gitlab_data genezys/gitlab:7.5.1 /bin/true
|
||||||
|
|
||||||
|
This empty container will exist to persist as volumes the 3 directories used by GitLab, so remember not to delete it:
|
||||||
|
|
||||||
|
- `/var/opt/gitlab` for application data
|
||||||
|
- `/var/log/gitlab` for logs
|
||||||
|
- `/etc/gitlab` for configuration
|
||||||
|
|
||||||
|
Then run GitLab:
|
||||||
|
|
||||||
|
docker run --detach --name gitlab --publish 8080:80 --publish 2222:22 --volumes-from gitlab_data genezys/gitlab:7.5.1
|
||||||
|
|
||||||
|
You can then go to `http://localhost:8080/` (or most likely `http://192.168.59.103:8080/` if you use boot2docker). Next time, you can just use `docker start gitlab` and `docker stop gitlab`.
|
||||||
|
|
||||||
|
|
||||||
|
How to configure GitLab.
|
||||||
|
========================
|
||||||
|
|
||||||
|
This container uses the official Omnibus GitLab distribution, so all configuration is done in the unique configuration file `/etc/gitlab/gitlab.rb`.
|
||||||
|
|
||||||
|
To access GitLab configuration, you can start a new container using the shared data volume container:
|
||||||
|
|
||||||
|
docker run -ti --rm --volumes-from gitlab_data ubuntu vi /etc/gitlab/gitlab.rb
|
||||||
|
|
||||||
|
**Note** that GitLab will reconfigure itself **at each container start.** You will need to restart the container to reconfigure your GitLab.
|
||||||
|
|
||||||
|
You can find all available options in [GitLab documentation](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configuration).
|
|
@ -0,0 +1,31 @@
|
||||||
|
# External URL should be your Docker instance.
|
||||||
|
# By default, this example is the "standard" boot2docker IP.
|
||||||
|
# Always use port 80 here to force the internal nginx to bind port 80,
|
||||||
|
# even if you intend to use another port in Docker.
|
||||||
|
external_url "http://192.168.59.103/"
|
||||||
|
|
||||||
|
# Some configuration of GitLab
|
||||||
|
# You can find more at https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configuration
|
||||||
|
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
|
||||||
|
gitlab_rails['gitlab_support_email'] = 'support@example.com'
|
||||||
|
gitlab_rails['time_zone'] = 'Europe/Paris'
|
||||||
|
|
||||||
|
# SMTP settings
|
||||||
|
# You must use an external server, the Docker container does not install an SMTP server
|
||||||
|
gitlab_rails['smtp_enable'] = true
|
||||||
|
gitlab_rails['smtp_address'] = "smtp.example.com"
|
||||||
|
gitlab_rails['smtp_port'] = 587
|
||||||
|
gitlab_rails['smtp_user_name'] = "user"
|
||||||
|
gitlab_rails['smtp_password'] = "password"
|
||||||
|
gitlab_rails['smtp_domain'] = "example.com"
|
||||||
|
gitlab_rails['smtp_authentication'] = "plain"
|
||||||
|
gitlab_rails['smtp_enable_starttls_auto'] = true
|
||||||
|
|
||||||
|
# Enable LDAP authentication
|
||||||
|
# gitlab_rails['ldap_enabled'] = true
|
||||||
|
# gitlab_rails['ldap_host'] = 'ldap.example.com'
|
||||||
|
# gitlab_rails['ldap_port'] = 389
|
||||||
|
# gitlab_rails['ldap_method'] = 'plain' # 'ssl' or 'plain'
|
||||||
|
# gitlab_rails['ldap_allow_username_or_email_login'] = false
|
||||||
|
# gitlab_rails['ldap_uid'] = 'uid'
|
||||||
|
# gitlab_rails['ldap_base'] = 'ou=users,dc=example,dc=com'
|
Loading…
Reference in New Issue