# Grab the latest image
docker pull gitlab/gitlab-ce:latest
# Create directory structure
cd /data
mkdir -p gitlab && cd gitlab
mkdir -p {config,logs,data}
# Run the container
docker run --detach \
--hostname git.mydomain.tld \
--publish 127.0.0.1:8181:80 --publish 127.0.0.1:2289:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
git.mydomain.tld {
log git.access.log {
rotate
}
errors {
log git.errors.log
}
tls [email protected]
proxy / 127.0.0.1:8181 {
fail_timeout 300s
proxy_header Host {host}
proxy_header X-Real-IP {remote}
proxy_header X-Forwarded-Proto {scheme}
proxy_header X-Forwarded-Ssl on
}
}