🎉

Synology NAS でDockerを用いてPostgreSQLサーバーを立てる

2024/06/09に公開

要約

DiskStation DS1823xs+ というSynologyのNASを使っているがPostgreSQLサーバーの機能はない。そこで Container Manager の機能を使ってDockerコンテナとしてPostgreSQLサーバーを構築する。

Synology NAS に必要なパッケージをインストールする

SynologyのNAS、DiskStation DS1823xs+ を使っているが、PostgreSQLサーバーのパッケージはなさそう。そこで、PostgreSQLのDockerコンテナを用いてサーバを立てる。

まず、NASのDSMからパッケージセンターを開き、Container Manager のインストール状態を確認し、インストールされていない場合はインストールする。

Container Manager

Container Manager でDockerイメージを取得する

Container Manager を開き、レジストリからpostgresqlのものを探す。

レジストリ一覧

ここではpostgresを選択し、postgresのDockerイメージをダウンロードする。今回PostgreSQLのバージョンは11.11のものが必要であったため、タグから11.11-alpineを選択し、適用ボタンを押す。

ダウンロードが始まり、イメージのところにpostgresのイメージが現れることを確認する。

イメージ一覧

PostgreSQLのDockerコンテナを起動する

イメージのpostgresを選択し、実行ボタンを押す。全般設定として、任意の重複しないコンテナ名を入力し、自動再起動を有効にしておく。

全般設定

次に詳細設定を行う。ポート設定としてフォワーディングの設定をする。今回はNASにポート番号6320でアクセスした場合に、コンテナのPostgreSQLのポートに転送されるようにマッピング設定をしておく。ボリューム設定としてNASの任意のディレクトリをPostgreSQLのデータディレクトリ (/var/lib/postgresql/data) としてマウントする設定を行う。ここではNASの/docker/postgresというディレクトリをマウントする。

詳細設定のポート設定およびボリューム設定

環境変数の設定も行う必要がある。

  • LANG
    ja_JP.utf8に変更
  • TZ
    Asia/Tokyoに指定
  • POSTGRES_PASSWORD
    postgresユーザーのパスワードを設定

そのほかの環境変数については以下のドキュメントを参考にして必要に応じて設定する。

環境変数設定

「機能」「ネットワーク」「実行コマンド」「リンク」については今回はデフォルトのままで進める。

要約画面で設定内容を確認し、「ウィザード終了後、このコンテナを実行」にチェックが入っていることを確認し、完了ボタンを押す。

Container Managerのコンテナ欄に作成したコンテナ名が現れて、状態がグリーンならPostgreSQLサーバーとして起動している。

コンテナ一覧

PostgreSQLクライアントから接続できることを確認して作業完了。

関連記事

Discussion