Skip to content

Instantly share code, notes, and snippets.

@jaceju
Last active August 29, 2015 14:13
Show Gist options
  • Save jaceju/a9721d58c923359198ba to your computer and use it in GitHub Desktop.
Save jaceju/a9721d58c923359198ba to your computer and use it in GitHub Desktop.
Start and run GitLab on docker
#!/bin/bash
# Usage
# boot2docker up && start_gitlab
# Remove old container
remove_container(){
CONTAINER=$1
RUNNING=$(docker inspect --format="{{ .State.Running }}" $CONTAINER 2> /dev/null)
retval=$RUNNING
if [ $? -eq 1 ]; then
return 0
fi
if [ "$retval" == "true" ]; then
docker stop "$CONTAINER"
fi
docker rm "$CONTAINER"
}
# NFS
boot2docker ssh sudo umount /Users
boot2docker ssh sudo /usr/local/etc/init.d/nfs-client start
boot2docker ssh sudo mount 192.168.59.3:/Users /Users -o rw,async,noatime,rsize=32768,wsize=32768,proto=tcp
# PostgreSQL
remove_container "postgresql"
docker run --name postgresql -d \
-e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' -e 'DB_PASS=password' \
-p 15432:5432 \
-v /Users/jaceju/demo-server/postgresql:/var/lib/postgresql \
jaceju/postgresql
# Redis
remove_container "redis"
docker run --name redis -d sameersbn/redis:latest
# GitLab Server
remove_container "gitlab"
docker run --name gitlab -d \
--link postgresql:postgresql \
--link redis:redisio \
-e 'GITLAB_PORT=10080' -e 'GITLAB_SSH_PORT=10022' -p 10022:22 -p 10080:80 \
-v /var/run/docker.sock:/run/docker.sock \
-v $(which docker):/bin/docker \
-v /Users/jaceju/demo-server/gitlab/data:/home/git/data jaceju/gitlab
# Status
docker ps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment