GitlabをDocker on Ubuntu 16.04で使う
githubみたいなサービスを自分で立てられるGitlab。
そのままサーバーに入れるのもいいんですが、ホスト環境を汚さないDockerでのインストールをしてみました。
サーバーはUbuntu Server 16.04 on Intel Compute Stick 2GB。
Gitlabは重いので、4core、4GBメモリ以上を推奨らしいけど、2GB、2GBスワップでもOKのよう。
Docker RUN
[bash] sudo docker run --detach \ --hostname localhost \ --publish 443:443 --publish 80:80 --publish 2222:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:9.0.4-ce.0 [/bash]
本来は、最後のところが、「gitlab/gitlab-ce:lastest」なんだけど、今回は、9.0.4からバックアップを復元するので、バージョン指定をしました。
※バックアップもととバージョンが違うと復元できない。
また、SSHのポートが22番だと、ホストの22番ポートと被るので、2222に変更。
Gitlab docker imageのバージョン一覧
https://hub.docker.com/r/gitlab/gitlab-ce/tags/
Docker runしたあとも、数分を「starting」ステータスになって、localhostにアクセスしても表示されませんが、ちょっと待てばしっかりとGitlabのログイン画面が表示されます。
バックアップから復元
まずは、Dockerコンテナにログイン
[bash] sudo docker exec -it gitlab bash [/bash]
バックアップを実行
[bash] gitlab-rake gitlab:backup:restore BACKUP=1501552106_2017_08_01 [/bash]
※ファイル名全部ではなく、日付までを指定する。拡張子とかまでいれるので、Not existと怒られる。
調査時間を入れて、1時間ほど、わかっていれば、20分もあればGithubライクなサーバーを自分で立てられます。
便利ですね。