Why Gitlab?

  • Self hosted
  • Github-style
  • CI Server
  • Code comments
  • Integrates with JIRA etc.
  • Simple repo creation
  • Repo forking
  • Modern workflow
  • Private repos
  • Protected branches
  • Project namespaces
  • Free as in beer

Why Mattermost?

  • Slack for free
  • Direct messages
  • Persistent channels
  • Modern interface
  • Free as in beer

The Good

  • Easy to use
  • Slick interface
  • Straightforward administration

The Bad

  • Mattermost desktop is daft

The Ugly

  • Out of the box is a lie
  • JIRA integration is per repo
  • Mail is a hassle
  • Docker image is out of date
#!/bin/sh

docker run \
  --interactive \
  --tty \
  --detach \
  --hostname 7p-revolution.com \
  --publish 80:80 \
  --link gitlab:gitlab \
  --name nginx \
  nginx:revolution
FROM nginx

ADD ./nginx.conf /etc/nginx/
ADD ./conf.d/ /etc/nginx/conf.d/
ADD ./sites-available/ /etc/nginx/sites-available/
ADD ./sites-available/ /etc/nginx/sites-enabled/

EXPOSE 80
#!/bin/sh

# docker volume create --name gitlab-config
# docker volume create --name gitlab-data
# docker volume create --name gitlab-logs


docker run --detach \
    --hostname gitlab.7p-revolution.com \
    --publish 2222:22 \
    --publish 2525:25 \
    --expose 80 \
    --expose 443 \
    --expose 8065 \
    --name gitlab \
    --restart always \
    --volume gitlab-config:/etc/gitlab:Z \
    --volume gitlab-logs:/var/log/gitlab:Z \
    --volume gitlab-data:/var/opt/gitlab:z \
    gitlab/gitlab-ce:8.8.3-ce.0
.
|-- build.sh
|-- conf.d
|   `-- default.conf
|-- Dockerfile
|-- nginx.conf
|-- run.sh
|-- shutdown.sh
|-- sites-available
|   |-- gitlab.7p-revolution.com
|   `-- mattermost.7p-revolution.com
`-- tail.sh

Mattering Most?

By Manuel Weidmann

Mattering Most?

  • 274