|
1 | | -What is GitLab? |
2 | | -=============== |
3 | | - |
4 | | -Version Control on your Server |
5 | | -like GitHub but Open Source |
6 | | - |
7 | | -- Git repository management, code reviews, issue tracking, activity feeds, wikis and continuous integration |
8 | | -- 25,000 users on one server or a highly available active/active cluster, LDAP/AD group sync and audit logging |
9 | | -- Community driven, 700+ contributors, inspect and modify the source, easy to integrate into your infrastructure |
10 | | -- GitLab runs on your own servers, if you want to use it without installing, see our[free GitLab.com service](https://about.gitlab.com/gitlab-com) |
11 | | - |
12 | | -<https://about.gitlab.com> |
13 | | - |
14 | | - |
15 | | -How to use this image |
16 | | -===================== |
17 | | - |
18 | | -We assume using a data volume container, this will simplify migrations and backups. This empty container will exist to persist as volumes the 3 directories used by GitLab, so remember not to delete it. |
19 | | - |
20 | | -The directories on data container are: |
21 | | - |
22 | | --`/var/opt/gitlab` for application data |
23 | | --`/var/log/gitlab` for logs |
24 | | --`/etc/gitlab` for configuration |
25 | | - |
26 | | -Create the data container with: |
27 | | - |
28 | | -```bash |
29 | | -sudo docker run --name gitlab_data --volume /var/opt/gitlab --volume /var/log/gitlab --volume /etc/gitlab genezys/gitlab:8.3.4 /bin/true |
30 | | -``` |
31 | | - |
32 | | -After creating this, run GitLab: |
33 | | - |
34 | | -```bash |
35 | | -sudo docker run --detach --name gitlab_app --publish 8080:80 --publish 2222:22 --volumes-from gitlab_data genezys/gitlab:8.3.4 |
36 | | -``` |
37 | | - |
38 | | -It might take a while before the docker container is responding to queries. You can follow the configuration process with`docker logs -f gitlab_app`. |
39 | | - |
40 | | -You can then go to`http://localhost:8080/` (or`http://192.168.59.103:8080/` if you use boot2docker). You can login with username`root` and password`5iveL!fe`. Next time, you can just use`sudo docker start gitlab_app` and`sudo docker stop gitlab_app`. |
41 | | - |
42 | | - |
43 | | -Using Docker Compose |
44 | | -==================== |
45 | | - |
46 | | -You can download the`docker-compose.yml` file directly from the project repository. It will create a`data` container with the 3 volumes and an`app` container using the volumes of`data`. |
47 | | - |
48 | | -To start the application using its default configuration, just run: |
49 | | - |
50 | | -```bash |
51 | | -docker-compose up -d |
52 | | -``` |
53 | | - |
54 | | - |
55 | | -How to configure GitLab |
56 | | -======================== |
57 | | - |
58 | | -This container uses the official Omnibus GitLab distribution, so all configuration is done in the unique configuration file`/etc/gitlab/gitlab.rb`. |
59 | | - |
60 | | -To access GitLab configuration, you can start an interactive command line in a new container using the shared data volume container, you will be able to browse the 3 directories and use your favorite text editor: |
61 | | - |
62 | | -```bash |
63 | | -docker run -ti -e TERM=linux --rm --volumes-from gitlab_data ubuntu |
64 | | -vi /etc/gitlab/gitlab.rb |
65 | | -``` |
66 | | - |
67 | | -**Note** that GitLab will reconfigure itself**at each container start.** You will need to restart the container to reconfigure your GitLab. |
68 | | - |
69 | | -You can find all available options in[Omnibus GitLab documentation](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configuration). |