非公式
このページの内容
  1. 01パッケージをインストールする
  2. 02管理者パスワードを設定する
  3. 03モジュールを有効にする
  4. 04アカウントを追加する
  5. 05リポジトリをクローンする
  6. 06エディターを開く
  7. 07アプリをビルドする
  8. 08アプリを実行、ダウンロード、またはエクスポートする
  9. 09NAS の App Center リポジトリ

初めての Linux ビルド: QNAP に Bucket & Code 開発環境をインストールする

Bucket & Code Server IDE を入れると、Git (Forgejo)、Subversion、バージョン管理付きの WebDAV バケット、ブラウザで使う VS Code、App Builder が NAS で使えるようになります。どれも 1 つのパネルから使い、パネルには専用のアカウントがあります。このガイドでは、App Center での新規インストールから始めて、レシピからビルドしたアプリを NAS で動かすところまで進めます。

  1. インストールApp Center でリポジトリを 1 件
  2. パスワード60 分以内、LAN から
  3. モジュールGit、CI、SVN、エディター
  4. アカウント一人につき一つ
  5. 最初のアプリビルドしてから有効化

画像は、このガイドの説明どおり各欄に入力したパネルのものです。画像内のアドレスは、既定のポートを使う 192.168.1.20 の NAS のものです。

01パッケージをインストールする

x86_64 の NAS で、QTS 6.0 または QuTS hero 6.0 以降が必要です。App Center は既定の設定のままパッケージをインストールします。

  1. App Center → ⚙ 設定 → App リポジトリ → 追加。名前を QNAP Utilities とし、https://www.qnaputilities.com/repo.xml を貼り付けて 追加 を押します。
  2. 左側の列で QNAP Utilities を開き、Bucket & Code Server IDE をインストールします。
  3. データは、パッケージをインストールしたボリューム上の BucketVS に保存されます(例: /share/CACHEDEV1_DATA/BucketVS)。後から ストレージ ページで別のボリュームへ移動できます。
  4. App Center の開くボタンを押すと、パネルが開きます: https://<NAS address>:9951、または http://<NAS address>:9950。HTTPS のアドレスは最初は自己署名証明書を使うため、お使いのデバイスがこの証明書を信頼するまで、ブラウザに警告が表示されます。

02管理者パスワードを設定する

新規インストール直後はアカウントが 1 つもないため、アカウント administrator の 管理者パスワードを設定 画面が開きます。10 文字以上のパスワードを 2 回入力し、パスワードを設定してサインイン を押します。

アカウント administrator の管理者パスワード: 「新しいパスワード」と「新しいパスワードを再入力」に入力済み、「10 文字以上」と「2 つの入力が一致しています」にチェック、「パスワードを設定してサインイン」ボタン
  • この画面は、パッケージの起動後 60 分間パスワードを受け付けます。その後は App Center でパッケージを再起動すると、さらに 60 分間受け付けます。
  • 設定できるのはローカルネットワーク上のブラウザだけで、プロキシ経由ではなく直接接続する必要があります。画面が待機している間、QTS のシステムログに開くべきアドレスが表示されます。
  • QTS のアカウントではパネルにサインインできません。パネルには専用のアカウントがあります。

03モジュールを有効にする

Git、CI、SVN & Bucket、エディターは、新規インストールではオフになっています。概要 には、モジュールごとにタイルがあります。タイルには、そのモジュールで何ができるかと、「Git」をオンにする、「エディター」をオンにする などのボタンが表示されます。ボタンを押すと、モジュールを準備して起動するジョブが実行され、準備が整うとタイルに 実行中 と表示されます。CI には Git が必要です。Git がオフの間、CI のボタンには 「Git」と「CI」をオンにする と表示されます。

Git がオフのときの概要の Git タイル: Forgejo 15.0.9、オフ、Git でできること、「『Git』をオンにする」ボタン

04アカウントを追加する

1つのアカウントで、パネル、Git、SVN、Bucketのすべてに同じ名前とパスワードでサインインできます。ユーザーページで新しいアカウントを押します。

  1. ユーザー名: 小文字で入力します(例:ola)。Forgejoのユーザー名にもなります。
  2. ロール: viewerは読み取りだけができます。developerはそれに加えてエディターを開き、アプリをビルドできます。adminはすべての操作ができます。
  3. パスワード: 10文字以上にするか、生成を押します。初回サインイン時に自分のパスワードを決める必要がありますはチェックしたままにして、アカウントを作成を押します。
新しいアカウントのダイアログ: ユーザー名 ola、ロール developer(root シェルについての警告付き)、パスワード、「初回サインイン時に自分のパスワードを決める必要があります」にチェック、「アカウントを作成」ボタン

エディターのターミナルはNAS上のrootシェルで、developerの定期ジョブもrootとして動きます。developerロールは、NASの管理者パスワードを渡してもよい人にだけ与えてください。

05リポジトリをクローンする

Git ページの Forgejo を開く ボタンで Forgejo を開き、リポジトリを作成、インポート、ミラーリングできます。ページの Forgejo 内 カードにある 新しいリポジトリ を押すと、Forgejo の新規リポジトリ作成フォームが開きます。Forgejo には、パネルのセッションで自動的にサインインします。同じページの リポジトリをクローン では、所有者とリポジトリを入力すると、クローン用のコマンドが表示されます。

リポジトリをクローン: 所有者 ola、リポジトリ firmware、git clone ssh://git@192.168.1.20:9952/ola/firmware.git と git clone http://192.168.1.20:9950/git/ola/firmware.git
  • HTTPまたはHTTPSでは、gitはパネルのユーザー名とパスワードを使います。2要素認証を有効にしている場合は、パスワードの代わりにForgejoのアクセストークンを使ってください(Forgejoの設定 → Applications)。
  • SSH(ポート9952)では、gitはForgejoの設定 → SSH / GPG keysで追加した鍵を使います。

06エディターを開く

エディター設定ページでエディターを開くを押します。VS Codeが新しいタブで、データフォルダーのprojectsフォルダーを開きます。アカウントごとに専用のインスタンスが用意されます。

エディター設定ページと「エディターを開く」ボタン
ブラウザ上のVS Code: projectsフォルダを表示したExplorerと、code-serverのウェルカムページ
エディター。 ターミナルには、パッケージ由来のgit、svn、node、npm、rsync、curlがあります。インスタンスは、ブラウザからの通信が30分ない場合に停止しますが、そこから起動したプログラムがまだ動いている間は停止しません。

07アプリをビルドする

App Builderは、レシピからプログラムをコンパイルして、1つのフォルダ(アプリのプレフィックス)にまとめます。各レシピには、ソース(チェックサム付き)、必要なほかのレシピ、できたプログラムが動くかどうかの確認方法が書かれています。アプリページで新しいアプリを押します。

  1. 構成。 名前を入力します(例:mytools)。プレフィックスは名前に合わせて/usr/app/mytoolsになります。ビルド環境で環境を選びます。インストール直後はビルド環境がないため、管理者がBuilder 環境を作成を押します。ビルドツール入りのUbuntu 24.04が用意され、準備ができると自動で選ばれます。続いてレシピを選択を押します。名前とプレフィックス: 名前 mytools、プレフィックス /usr/app/mytools。環境: ビルド環境 ubuntu2404-builder、ubuntu-24.04-x86_64、glibc 2.39
  2. レシピ。 プログラムを検索してチェックを入れます。そのプログラムに必要な依存関係は、ビルド順に自動で追加されます。たとえばtmuxを選ぶと、libeventとncursesも追加されます。確認を押します。レシピ: 「プロジェクトのレシピ」は「なし:ライブラリのみ」、tmuxの検索、tmux 3.7cにチェック、1件選択、ビルドに3レシピビルド順序: tmuxが必要とするlibeventとncurses、その後にtmux。Debianパッケージのcmakeとninja-build。「戻る」ボタンと「確認」ボタン
  3. 確認してビルド。 概要を確認して、作成してビルドを押します。確認: 名前 mytools、プレフィックス /usr/app/mytools、環境 ubuntu2404-builder、ビルド対象 x86_64、動作先 パッケージが動くすべての NAS、リンク方式 動的、レシピ 3 個。ビルドの前に: Debianパッケージ、ライセンス、「作成してビルド」ボタン

動作先はパッケージが動くすべての NASのままにしてください。この設定では、glibc 2.39より新しいglibcを必要とするプログラムは使えません。そのため、アプリはQTS 6.0、QuTS hero 6.0以降のほかのx86_64 NASでも動きます。

08アプリを実行、ダウンロード、エクスポートする

アプリのページにはパイプラインが表示されます。ビルド、QPKGのエクスポート、公開です。

パイプライン: ビルド、ビルド済み。QPKG としてエクスポート。公開、エクスポートが必要
  • 有効化(管理者)を押すと、プレフィックスが成功した最新のビルドへのリンクになり、プログラムを/usr/app/<name>/bin/…として実行できます。パッケージは起動のたびにリンクを作り直します。この NAS 上: 無効、「有効化」ボタン、有効化に使われるビルドの日付
  • ダウンロードでは、成功した最新のビルドを.tar.zstアーカイブとしてダウンロードできます。
  • QPKG としてエクスポート(管理者)は、ビルドをQPKGにまとめます。このQPKGを使うと、このパッケージがない別のNASにもアプリをインストールできます。エクスポートにはQDKが必要です。ツールチェーンページのQNAPタブでQNAP QDK 2.5.0をインストールしてください。エクスポートしたパッケージにはコード署名がないため、パッケージページのリポジトリは、そのままでは受け付けません。

09NAS上のApp Centerリポジトリ

パッケージページは、このNAS上のApp Centerリポジトリです。そのアドレスを、他のNASのApp Centerに登録します。⚙ Settings → App Repository → 追加。

App Centerのアドレス: http://192.168.1.20:9950/repo/repo.xml

ここには開発者がコード署名済みのQPKGをアップロードし、管理者がApp Centerに表示するバージョンを選びます。バックアップ、インターネットへの公開、カーネルワークショップなどの残りの内容は、ユーザーガイドに記載されています。