以前PCやスマホのバックアップ用にQNAPのNASを購入しました。 このNASではDockerが利用できるので、その上にRedmineを入れて動かしてみました。

家にあるNASについて

まずは家にあるNASを紹介します。

2年前くらいにPCとスマホのバックアップ用にQNAPのTS-231+というNASを購入しました。 これは3.5インチのHDD(別売)を2つ搭載できます。 NASとして使いつつ、汎用サーバー(ARM & Linux)としても使えるのが嬉しいポイントです。

HDDにはWD Redの3TBのを2つ購入しました。

基本的にはPCとスマホのバックアップに使っています。 WindowsPCからは、Windowsの「ファイル履歴」の機能を使ってこのNASにバックアップを取っています。 このNASはAppleのTimemachineにもなるので、MacBookを使っていた時はこのTimemachineの機能を使ってバックアップを取っていました。

QNAPのNASはスマホともうまく連携できるように、スマホ用のQNAPのアプリがあります。 このアプリを使うことで、スマホが家のWifiにつながったら、 スマホカメラで撮影した画像や動画を自動でNASにアップロードすることが可能となっています。 wifiの検出やアップロードはバッグブランドで自動的に行われるので非常に快適です。

myQNAPcloudというものを使うと、簡単な設定のみで外部のネットワークからアクセスすることもできます。 出先でNASの中身を見たりuploadしたりするだけではなく、DropBoxやGoogleDriveのように共有用のリンクを作成することもできます。 つまり家のNASを自分専用のDropBoxみたいなサーバーとして使うことができるのです。

ブラウザから見える管理用のページはこんな感じで、QNAP専用のアプリを入れたり操作をすることで機能の追加や 管理ができるようになっています。

ここまでの基本機能だけも十分に便利に使えていたのですが、 実はNAS上にContainer Stationというアプリ(中身はDocker)があり、 Dockerのコンテナを動かせることに最近気付きました。 この機能によって、NASというよりは家用簡単サーバーとして使うことができるのです。 Dockerのコンテナが使えるだけでも色んな環境の導入が楽にでき、 加えてそれらがGUI上から簡単に扱えるようになっているのが個人的にはとても気に入っています。

RaspberryPIや安いPCをベースに自宅サーバーを立てても同じことはできます。 その中でQNAPのNASを汎用サーバーっぽく使うことのメリットは、

  • そもそもNASとして十分な機能を使える
  • 動作が安定している
  • 省電力である

という点だと思います。

今回やったこと

今回はこのContainer Stationを使ってRedmineをNAS上で動かしました。

手順としてはこんな感じです。

  1. ContainerStatiobをインストールする
  2. Container Station上にRedmineをインストールする

基本的にはDockerのイメージを入れるだけなのですが、 一つ注意が必要となります。 それはARM上で動くイメージを選ぶ必要があるということです。 TS-231+のCPUはARMで、Alpine LinuxというOSが動いています。 コンテナイメージを検索するときに”arm armv7 armhf”とかを入れて検索すると、 TS-231+でもちゃんと動くものが見つけられます。

Container Stationをインストールする

QNAPのAppCenterからContainer Stationをインストールします。

Container Stationではコンテナのインストールや管理をGUIから簡単に行うことができます。

コンテナを作成する

Dockerをいじろうとするとコマンドを打って色々作業が必要となるのですが、 Container Stationではボタンをポチポチしているだけでコンテナが立ち上がります。

Redmineのためのイメージとしては、Redmine公式のイメージを使いました。 コンテナイメージはContainerStaionの”作成”タブのところから検索できます。 検索はQNAP公式のものだけではなく、DockerHubからも検索されます。 今回インストールしたのはredmineで検索すると出てくる公式っぽいやつです。

インストールボタンを押すと色々聞かれますが、デフォルト設定で動きました。 コンテナの作成は一瞬でできました。 コンテナが作成されるとすぐにRedmineが立ち上がるわけではなく、 コンテナ内でRedmineのセットアップが行われます。 自分の環境では10分くらいかかった気がします。 セットアップが完了するとRedmineが立ち上がり、 Container Stationのコンテナの詳細画面にURLが表示されます。

このURLにアクセスするとRedmineの画面が出ます。

まとめ

QNAPではContainer Stationを使うことでDockerコンテナを作成することができ、 それを使ってRedmineを動かすことができました。 Dockerイメージがあれば何でもできるのですが、唯一注意しないといけないのは ARMで動くイメージを選ばないといけないということです。

実はGitlabを入れようとしてみました。 しかしメモリが足りずに動作がとても重くなってしまいました。 Gitlabはメモリをswapと合わせて4GB以上与えることが推奨されているののに対して、 今回のNASは1GBしか載っていないのが原因みたいです。