背景など
QNAP(TS-453D-4G) に Gitサーバーを入れようと思い、GitLab を入れてみたら重すぎて使い物にならなかったので、Gitea を入れた時のメモ。
用途としては、DAW のプロジェクト管理で、LFS を使う前提でセットアップしてます。
今まで CentOS で構築した自宅サーバー上にあった、git リポジトリを移行する形で考えてます。
事前準備
QNAP の IP アドレスは固定にしておいた方が楽。
インストール
インストールは ContainerStation > Create > Create Application から。
Application name と YAML を入力して Create で作成される。
YAML
YAML の内容はひとまず下記のサイトの内容を貼り付ければ動くは動きそう。
version: '2'
services:
web:
image: gitea/gitea:1.12.4
volumes:
- ./data:/data
ports:
- "3000:3000"
- "22:22"
depends_on:
- db
restart: always
db:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=changeme
- MYSQL_DATABASE=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=changeme
volumes:
- ./db/:/var/lib/mysql
必要に応じて、下記のサイトを参考に書き換える。
変更点
同じ書式で version を 3 にしても問題なさそう。
version: '3'
最新版を使う
image: gitea/gitea:latest
日時をJSTにするために volumes:
に下記の2行を追記
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
下記の DB 接続系の情報(特にパスワード関連)は書き換えておいた方が良さそう。
- MYSQL_ROOT_PASSWORD=changeme
- MYSQL_DATABASE=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=changeme
初期設定
変更する場所
データベース設定 | |
---|---|
データベースのタイプ |
MySQL を選択 |
ホスト | ホスト名を localhost から db に変更 (YAML のセクション名?) |
パスワード |
MYSQL_ROOT_PASSWORD に設定したもの。 |
LFS 使う場合には基本設定で localhost から ホスト名に変えておかないと、LFS 操作時に localhost に接続しようとしてこける。
- SSHサーバーのドメイン
- GiteaのベースURL
あとから設定変更する場合
app.ini を直接編集するしかないっぽい。
パス
/Container/container-station-data/application/gitea/data/gitea/conf
app.ini を変更したら再起動
LFS 関連の処理が localhost に接続しようとしてエラーになる場合
クライアントPC からの接続時、IPアドレスやホスト名でアクセスしていたとしても、LFS 関連の処理は初期設定で行った下記の設定値を使ってアクセスされてしまう。
- SSHサーバーのドメイン
- GiteaのベースURL
初期値ではこれらの値は localhost
になっているので、ホスト名などに変更しておく必要があるが、初期設定で行わなかった場合には、app.ini で変更する。
[server]
DOMAIN = <host名>
SSH_DOMAIN = <host名>
ROOT_URL = http://<host名>:3000/
その他
LFS は最初から有効になっているみたい。
SourceTree 絡み
pushなどの際にパスワードを聞かれるの避ける
参考