QNAP NAS(TS-133)の「Container Station 3」でGitLabを動作させようと調べたところ動作条件が厳しそうなので、giteaを動作させることにしました。
giteaに関係するアプリケーションおよびツールを動作させる手順を記載します。
・Dockerアプリのgitea
・QNAP NASアプリのMariaDB 10
・QNAP NASアプリのphpMyAdmin
・QNAP NASのWebサーバー
既に動作させているサーバーはSSHサーバ(ポート:22、SFTP有効)です。
Webサーバー
Dockerアプリケーションで「gitea」を動作させるためのDBは「MariaDB 10」を使用します。
「MariaDB 10」アクセスのGUIは「phpMyAdmin」を使用したいので、まずはWebサーバーを有効にします。
「Container Station 3」のコントロールパネル – アプリケーション – Webサーバー を選択して設定画面を表示します。設定は、ほぼデフォルト設定のままで良さそうなので以下設定にしました。
Webサーバーを有効にする | 有効 |
ポート番号 | 80 |
HTTP圧縮を有効にする | - |
セキュリティ保護された接続(HTTPS)を有効にする | 有効 |
TLSバージョン互換性 | 1.2以降 |
強力な暗号スィートを有効にする | - |
セキュリティ保護された接続(HTTPS)のみを使用にする | - |
クライアントの最大数 | 256 |
IFrame内にWebサーバーの埋め込みはできません | 有効 |
X-Content-Type-Options HTTPヘッダーを有効にする | 有効 |
Content-Security-Policy HTTPヘッダーを有効にする | 有効 |
MariaDB 10
App CenterからMariaDB 10をインストールして動作設定します。
設定は、ほぼデフォルト設定のままで以下設定にしました。
SQLサーバー | MariaDB 10.5.8 |
ドメインソケット | /var/run/mariadb10.sock |
TCP/IPネットワークを有効にする | 有効 |
ポート番号 | 3307 |
phpMyAdmin
App CenterからphpMyAdminをインストールして動作設定します。
設定は、以下設定にしました。
ユーザ名 | root |
パスワード | rootのパスワード |
サーバの選択 | MariaDB 10 |
ログイン後、giteaで使用するデータベースとユーザを追加します。
データベースを新規作成します。
データベース名 | gitea |
キャラクタセット | utf8mb4_bin |
ユーザアカウントを追加します。
ユーザ名 | gitea |
ホスト名 | % |
パスワード | giteaのパスワード |
認証プラグイン | ネイティブMySQL認証 |
同名のデータベースを作成してすべての権限を与える | ― |
ワールドカード(ユーザ名_%)に該当するデータベースにすべての権限を与える | ― |
データベースgiteaへのすべての権限を与える | 有効 |
グローバル権限 | すべてチェックする |
SSL | REQUIRE NONE |
Container Station 3(Docker) gitea
Container Station の[イメージ]画面を開いて右上の[検索]から「gitea/gitea」を検索して、任意バージョンを選択してdockerイメージをプルします。私はlatestでプルしました。因みに現在gitea安定版は1.20.4
Container Station の[コンテナ]画面を開いて以下設定で[新規作成]します。
モード | 基本モード |
レジストリ | Docker Hub |
イメージ | gitea/gitea:latest |
名前 | gitea |
再起動ポリシー | 停止時以外 |
露出ポート | 22/tcp, 3000/tcp |
ネットワークモード | デフォルト(NAT) |
デフォルトWeb URLポート | 3000 |
Container Station の[アプリケーション]画面を開いて[新規作成]します。
docker-compose.yml は以下の通り。
version: "3"
networks:
gitea:
volumes:
gitea:
services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=landisk02:3307
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=データベースgiteaのパスワード
restart: always
networks:
- gitea
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 3000:3000
- 222:22
GITEA__database__HOSTは、私がNTTルータに設定済みのホスト名です。ホスト名にはIPv4アドレスも指定可能です。(例 GITEA__database__HOST=192.168.1.100:3307)
Web URLをクリックするとgitea初期設定画面が新しいブラウザ画面に表示されます。
gitea
変更する箇所はなく、上段のインストールボタンを押します。
数秒後にはログイン画面が表示されます。上画面のオプション設定の[管理者アカウントの設定]を行わなければ、最初に登録したユーザが管理者になります。gitea公式URL情報。
これで完了です。