![eyecatch](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8zhQqPIPvjb3vASresiem3OsLW9uL4_DhqFy_2ZlOMlrGP8mhwVV6pFlTb-Su9A9beY7Bww_abBsKVxseDFUmAVPkt7-KgqB0niVTqurqvLovDcVAXMG9cjBCz1coslaUKmYfkHEelfZ75dcS9lJSkpLGJNcrbyIca4qIESfjarwkNYh5Iz7JfEnh0e0/s1600-rw/%E7%99%BD%E3%81%A8%E9%BB%92%20%E3%82%B7%E3%83%B3%E3%83%95%E3%82%9A%E3%83%AB%20%E4%BC%9A%E8%A8%88%20%E3%82%B5%E3%83%BC%E3%83%92%E3%82%99%E3%82%B9%E3%82%A6%E3%82%A7%E3%83%95%E3%82%99%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%82%B3%E3%83%92%E3%82%9A%E3%83%BC%E3%81%AE%E3%82%B3%E3%83%92%E3%82%9A%E3%83%BC.jpg)
NASを便利に使うために、昨日はQNAPが便利だという話をしたと思うが、今回はGITリポジトリサーバーを構築する手順を備忘録しておきます。
この備忘録は、将来現在使っているQNAP-NASが故障して、新しいものに交換した場合や、新機種が出て再構築する時に自分で見直すためのもので、
他の人に便利に利用してもらおうなんて、これっぽちも考えていない事をご理解ください。
(ウソです、QNAP使っている人はバンバンコピペしてこすり倒してください)
前提条件条件
今回使用するQNAPの機種は「TS-464」でHDD4枚構成のもの(2枚RAIDのものでも大丈夫だと思う)
HDD(ストレージ)は
10TB x4 +
M.2-SSD 4TB x2というなんとも贅沢な容量を搭載している。
もちろん、Raid5 + 定期バックアップ・スナップショットを構築しているので、機器トラブルでもある程度は問題なし(と思われる)
GITリポジトリサーバ―にするためには、ストレージの容量は大容量が必須なので、コストの許す限り大容量にしておいたほうがいいですからね。
OS(QTS)のバージョンは、2024年7月の辞典の最新バージョンです。
構築作業手順
1. Container Statinを立ち上げて、「アプリケーションタブ」に移動
2. 次のコードをコピペ
version: '3'
services:
gogs:
image: gogs/gogs:latest
ports:
- "3000:3000"
- "50022:22"
volumes:
- ./data:/data
depends_on:
- db
restart: always
db:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=*パスワードを入力
- MYSQL_DATABASE=gogs
- MYSQL_USER=gogs
- MYSQL_PASSWORD=*パスワードを入力
volumes:
- ./db/:/var/lib/mysql
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.1.0/24
「パスワードを入力」箇所は、自分でログインする用のパスワードを入力しておきましょう。
データベースはMariaDBを同時に起動するようにしています。
3. webブラウザでアクセス
http://※QNAPのIPアドレス:3000/
Gogsのインストール設定の変更点は、次とおりです。
データベースの種類 : Mysql
ホスト : db:3306
パスワード : ※パスワード入力
ドメイン : ※QNAPのアドレス(IPやドメイン)
SSHポート : 50022
アプリケーションのURL : http://※QNAPのアドレス(IPやドメイン):3000
URLのhttpは適宜httpsに置き換えてください。
上記の設定で登録できますが、「管理者アカウント」をセットしておくと、この後サクサク作業が進められます。
「Gogsをインストール」ボタンを押してエラーが出なければ、そのままログイン画面に遷移します。
※問題が出る場合は自力で直すしかありません・・・
設定変更
ローカルパソコンから、SSHを使ってQNAPにログインして、次のコマンドで、設定ファイルを直接編集できます。
vi /share/Container/container-station-data/application/gogs/data/gogs/conf/app.ini
中は次のように書かれています。
BRAND_NAME = Gogs
RUN_USER = git
RUN_MODE = prod
[database]
TYPE = mysql
HOST = db:3306
NAME = gogs
SCHEMA = public
USER = gogs
PASSWORD = パスワード
SSL_MODE = disable
PATH = /app/gogs/data/gogs.db
[repository]
ROOT = /data/git/gogs-repositories
DEFAULT_BRANCH = master
[server]
DOMAIN = ドメイン
HTTP_PORT = 3000
EXTERNAL_URL = http://ドメイン:3000/
DISABLE_SSH = false
SSH_PORT = 50022
START_SSH_SERVER = false
OFFLINE_MODE = true
[email]
ENABLED = false
[auth]
REQUIRE_EMAIL_CONFIRMATION = false
DISABLE_REGISTRATION = true
ENABLE_REGISTRATION_CAPTCHA = false
REQUIRE_SIGNIN_VIEW = true
[user]
ENABLE_EMAIL_NOTIFICATION = false
[picture]
DISABLE_GRAVATAR = true
ENABLE_FEDERATED_AVATAR = false
[session]
PROVIDER = file
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /app/gogs/log
[security]
INSTALL_LOCK = true
SECRET_KEY = セキュリティキー(自動で登録されます)
内容については細かく説明しませんが、DEFAULT_BRANCHは
masterを
mainにしておいたほうがよさそうです。
あとがき
仕事でGithubにprivate登録してあるリポジトリなどが、数十個あるのと、以前使っていたGitリポジトリサーバーに数百個のリポジトリデータが存在するので、それらを一括管理して、組織などでグルーピングして管理しようと思います。
wikiや共同開発、ホック機能なども使えるので、オートデプロイなども設定できるはずなので、仕事で便利に使えそうですね。
しかも、セキュリティは結構安心感があります。(QNAPがハッキングされない限り)
さて、リポジトリのお引越しに膨大な時間がかかる事が想定されるので、ブログ書いてる場合じゃないってことで、今回の備忘録はここまで。
あ、ちなみに、QNAPで使えるGITリポジトリサーバーは、「GOGS」以外にも「GITEA」というのもあるので、好みに合わせてインストールするといいでしょう。
0 件のコメント:
コメントを投稿