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情報。

これで完了です。