Chef to install the Public GitLab.
- Public GitLab: 5-3-stable
- GitLab Shell: 1.5.0
- Ruby: 1.9.3
- Redis: 2.6.13
- Git: 1.8
- Nginx: 1.1.19
- PostgreSQL: 9.1.9
- MySQL: 5.5.31
- Ubuntu (13.04)
- CentOS (6.4)
- Package
- User
- GitLab shell
- GitLab shell config
- GitLab hq
- GitLab hq config
- Gems
- Git
$ gem install berkshelf
$ vagrant plugin install vagrant-berkshelf
$ git clone git://github.com/ganta/cookbook-public-gitlab public-gitlab
$ cd public-gitlab
$ $EDITOR Vagrantfile
$ vagrant up
$ gem install berkshelf
$ vagrant plugin install vagrant-berkshelf
$ vagrant plugin install vagrant-aws
$ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
$ git clone git://github.com/ganta/cookbook-public-gitlab public-gitlab
$ cd public-gitlab
$ cp example/Vagrantfile_aws Vagrantfile
$ $EDITOR Vagrantfile
$ vagrant up --provider=aws
$ vagrant ssh-config | awk '/HostName/ {print $2}'
$ $EDITOR Vagrantfile
$ vagrant provision
$ gem install berkshelf
$ gem install knife-solo
$ knife configure
$ knife solo init chef-repo
$ cd chef-repo
$ echo 'cookbook "gitlab", github: "ganta/cookbook-public-gitlab"' >> Berksfile
$ knife solo prepare vagrant@127.0.0.1 -p 2222 -i ~/.vagrant.d/insecure_private_key
$ $EDITOR nodes/127.0.0.1.json
$ knife solo cook vagrant@127.0.0.1 -p 2222 -i ~/.vagrant.d/insecure_private_key --no-chef-check
Example of node config.
{
"postfix": {
"mail_type": "client",
"myhostname": "mail.example.com",
"mydomain": "example.com",
"myorigin": "mail.example.com",
"smtp_use_tls": "no"
},
"postgresql": {
"password": {
"postgres": "psqlpass"
}
},
"mysql": {
"server_root_password": "rootpass",
"server_repl_password": "replpass",
"server_debian_password": "debianpass"
},
"gitlab": {
"host": "example.com",
"url": "http://example.com/",
"email_from": "gitlab@example.com",
"support_email": "support@example.com",
"database_adapter": "postgresql",
"database_password": "datapass"
},
"run_list":[
"postfix",
"gitlab::initial",
"gitlab::install"
]
}
Set mysql
to database_adapter
.
{
...
"gitlab": {
"database_adapter": "mysql"
}
}
Add gitlab::update
to run_list
.
{
...
"run_list":[
"gitlab::update",
"gitlab::install"
]
}
http://localhost:8080/
or your server for your first GitLab login.
admin@local.host
5iveL!fe
Public GitLab Cookbook is provided and maintained by Hideki IGARASHI.
Public GitLab Cookbook is distribute unde the same license as the original cookbook.
This fork is based on @ogom work, from his original fork.