jerasure.org installation notes

The jerasure.org is setup to host the upstream repositories for the GF-complete and jerasure libraries. Contributors may sign-up or re-use their existing GitHub account. A companion continous integration server runs make check on each merge request.

# from http://jerasure.org:8080/admin/runners
REGISTRATION_TOKEN=XXXXX
# database password
DB_PASS=XXXX
# following instructions at http://doc.gitlab.com/ce/integration/github.html
OAUTH_GITHUB_API_KEY=XXXX
OAUTH_GITHUB_APP_SECRET=XXXX

echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install lxc-docker

# move docker volatile information to fast storage
mkdir /spare/docker
stop docker
rm -fr /var/lib/docker
ln -s /spare/docker /var/lib/docker
start docker

apt-get install postfix
.. internet site + jerasure.org domain ..
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = jerasure.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = jerasure.org, localhost, localhost.localdomain, localhost
relayhost =
mynetworks = 172.0.0.0/8 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

docker pull sameersbn/redis:latest
docker run --name=redis -d sameersbn/redis:latest

docker pull sameersbn/mysql:latest
sudo mkdir -p /opt/mysql/data
docker run --name=mysql -d -e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' -e "DB_PASS=$DB_PASS" -v /opt/mysql/data:/var/lib/mysql sameersbn/mysql:latest

docker pull sameersbn/gitlab:latest
sudo mkdir -p /opt/gitlab/data
docker run --name='gitlab' -it -d  --link mysql:mysql --link redis:redisio -e 'SMTP_ENABLED=true' -e 'SMTP_USER=' -e 'SMTP_HOST=172.17.42.1' -e 'SMTP_PORT=25' -e 'SMTP_STARTTLS=false' -e 'SMTP_OPENSSL_VERIFY_MODE=none' -e 'SMTP_AUTHENTICATION=:plain' -e 'SMTP_DOMAIN=jerasure.org' -e 'GITLAB_EMAIL=gitlab@jerasure.org' -e 'GITLAB_SIGNUP=true' -e 'GITLAB_PORT=80' -e 'GITLAB_HOST=jerasure.org' -e 'OAUTH_ALLOW_SSO=true' -e 'OAUTH_BLOCK_AUTO_CREATED_USERS=false' -e "OAUTH_GITHUB_API_KEY=$OAUTH_GITHUB_API_KEY"  -e "OAUTH_GITHUB_APP_SECRET=$OAUTH_GITHUB_APP_SECRET" -e 'GITLAB_SSH_PORT=22' -p 22:22 -p 80:80 -v /var/run/docker.sock:/run/docker.sock -v /opt/gitlab/data:/home/git/data -v $(which docker):/bin/docker sameersbn/gitlab

sudo mkdir -p /opt/mysql-ci/data
docker run --name=mysql-ci -d -e 'DB_NAME=gitlab_ci_production'  -e 'DB_USER=gitlab_ci'  -e "DB_PASS=$DB_PASS"  -v /opt/mysql-ci/data:/var/lib/mysql  sameersbn/mysql:latest

docker pull sameersbn/gitlab-ci
sudo mkdir -p /opt/gitlab-ci/data
docker run --name='gitlab-ci' -it --rm   --link mysql-ci:mysql --link redis:redisio --link gitlab:gitlab -e 'SMTP_ENABLED=true' -e 'SMTP_USER=' -e 'SMTP_HOST=172.17.42.1'  -e 'SMTP_PORT=25'  -e 'SMTP_STARTTLS=false'  -e 'SMTP_OPENSSL_VERIFY_MODE=none'  -e 'SMTP_AUTHENTICATION=:plain' -e 'GITLAB_CI_PORT=8080'  -e 'GITLAB_CI_HOST=jerasure.org'  -p 8080:80  -v /var/run/docker.sock:/run/docker.sock  -v /opt/gitlab-ci/data:/home/gitlab_ci/data  -v $(which docker):/bin/docker  sameersbn/gitlab-ci

sudo apt-get update -y
sudo apt-get install -y wget curl gcc libxml2-dev libxslt-dev \
   libcurl4-openssl-dev libreadline6-dev libc6-dev \
   libssl-dev make build-essential zlib1g-dev openssh-server \
   git-core libyaml-dev libpq-dev libicu-dev \
   ruby2.0 ruby2.0-dev

sudo rm /usr/bin/ruby /usr/bin/gem /usr/bin/irb /usr/bin/rdoc /usr/bin/erb
sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
sudo ln -s /usr/bin/irb2.0 /usr/bin/irb
sudo ln -s /usr/bin/rdoc2.0 /usr/bin/rdoc
sudo ln -s /usr/bin/erb2.0 /usr/bin/erb
sudo gem update --system
sudo gem pristine --all

sudo gem install bundler
sudo adduser --disabled-login --gecos 'GitLab CI Runner' gitlab_ci_runner

CI_SERVER_URL=http://jerasure.org:8080 REGISTRATION_TOKEN=$REGISTRATION_TOKEN bundle exec ./bin/setup