スタートアップスクリプトの作り方その2

さくらのVPS コントロールパネルを使ってスタートアップスクリプトを追加する手順について解説します。

アプリケーションをインストールするスタートアップスクリプトの追加

前回の記事 では、公式スタートアップスクリプトのyum updateをもとにスクリプトを追加してみました。
本記事では、実際にアプリケーションを動かすスタートアップスクリプトを作ってみたいと思います。
題材は複数のウェブサービスを連携し、定型作業を自動化することができるOSSの n8n です。
対応OSはCentOS 7です。

注意

本記事ではn8nの使い方については解説していません。公式ドキュメント などをご参考ください。
また、n8nの使い方についてはサポートの範囲外になります。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/bin/bash
set -x

# Install Docker
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
systemctl start docker
systemctl enable docker

#Install n8n
docker run --rm --name n8n -p @@@port@@@:5678 -v ~/.n8n:/root/.n8n n8nio/n8n
5行目から8行目までは、Dockerの最新版をインストールするコマンド群です。

11行目は docker run コマンドを用いてn8nのDockerイメージをダウンロードして実行するコマンドです。
n8nはDocker上では5678番ポートで動作しますが、実際にブラウザでアクセスする際は別のポート(例えばhttpの一般的なポートである80番ポート)でアクセスできるよう、パラメーターで変更できるようにしています。

パラメーターの追加方法

さくらのVPS コントロールパネルを使ってスタートアップスクリプトを追加する方法は 前回の記事 を参照してください。ここでは差分のみ紹介します。

「パラメーター」で、[フィールドを追加]をクリックします。

[置換対象文字列]と[パラメーター名/説明]を入力します。置換対象文字列には「@@@port@@@」、パラメーター名/説明には「ポート番号」と入力します。スタートアップスクリプト実行時にパラメーターの入力フォームが表示され、入力した文字列によってスクリプトの@@@port@@@の部分が書き換えられます。パラメーターに80と入力すると、 @@@port@@@:567880:5678 に書き換えられます。

スタートアップスクリプトを実行して、ブラウザに http://<VPSのIPアドレス>:<パラメーターに入力したポート番号> を入力しアクセスすると、以下のような画面が開きます。

まとめ

パラメーターを使うことでスタートアップスクリプトでできることの幅が広がります。また今回紹介したスクリプトを改造して、nginxをリバースプロキシにしてhttps化するなど、スタートアップスクリプトの作成や改造にチャレンジしてみてください。