はじめに
GitHubのような環境が手元に欲しくて探したところGogsというGitHubクローンのOSSがあった。しかし、Gogsを使うにはデータベースも別途、用意しないといけないと分かったのでdocker-composeを使って、さっくりとGogsを立ち上げられるようにした。
そのとき使ったdocker-compose.ymlと方法をここにメモしておく。
docker-composeの軽い説明
docker-composeを使うと複数のDockerコンテナを協調動作させるようなサービスを簡単に建てられるようになる。使い方はとても簡単。
- 空のフォルダを作る
- 中にdocker-compose.ymlを置く
- フォルダ内で
docker-compose up -d
を実行する
これだけでお手軽にサービスを立ち上げることができる。
コンテナ群を停止させるときはdocker-compose down
を実行するだけ。
docker-compose.yml
Postgresのパスワードは#####
と書いているが、ここは各自で設定する。
ポートの番号は、Gogs公式に書いてあるDockerで動かすときのやり方に従っている。
restart: always
を設定しているのでホスト側を再起動しても自動でGogsが立ち上がるようになるはず。
version: '3'
services:
db:
image: postgres:latest
environment:
- POSTGRES_USER=gogs
- POSTGRES_PASSWORD=#####
- POSTGRES_DB=gogs
volumes:
- ./dbdata:/var/lib/postgresql/data
restart: always
gogs:
image: gogs/gogs
ports:
- "10880:3000"
- "10022:22"
depends_on:
- db
volumes:
- ./data:/data
restart: always
gogsの設定
まず、docker-compose up -d
を実行すると、こんな感じで色々と出てくる。
# docker-compose up -d
[+] Running 3/3
✔ Network gogs_default Created 0.1s
✔ Container gogs-db-1 Created 0.0s
✔ Container gogs-gogs-1 Created 0.1s
...
この表示は環境によって違うのでしっかりよく見て、gogs-db-1
の部分をメモっておくこと。gogsの初期設定のときに使う。
docker-composeの処理が終わったら、ローカルで実行している場合は、ブラウザで127.0.0.1:10880
にアクセスすると下のような設定画面が出てくる。ローカルで実行していない場合は127.0.0.1
の部分をそのアドレスに変えて実行する。
設定に関しては基本的にここに従えば良い。
上から変更する部分を書くと、
-
Host : gogs-db-1など
docker-compose up -d
を実行したときにメモした名前にする - Password : docker-compose.ymlで設定したパスワードにする
- Domain : リモートで動かす場合はサーバーにsshでアクセスするときの名前にする
- SSH Port : 10022にする
-
Application URL :
http://127.0.0.1:10880
にする(リモートで動かす場合は、127.0.0.1
をそのサーバーのIPアドレスやドメインにする)
変更し終えたら、Install Gogsを押すとGogsのログイン画面が表示される。
まだアカウントは持っていないので、下にあるSign up now.からアカウントを登録して、ログインすると使えるようになる。
Gogs自体の使い方はGitHubにかなり近いので省略。
Gogsの初期設定をミスったときの修正方法
ちゃんとやりたい人はここに従ったほうがいいかも?
ただ自分は面倒なので設定ファイルを直にいじった。
-
docker-compose down
を実行してGogsを止める - コンテナが停止したら、テキストエディタで
data/gogs/conf/app.ini
を開く - 修正したいところを書き換える
-
docker-compose up -d
を実行してGogsを再起動
Domainを間違えて設定したときは、この方法でもちゃんと変更された。
おわりに
本記事は備忘録的なものですが、間違えや質問があったらぜひコメントください。
お待ちしております。