概要
XServer VPS に Docker で開発した API サーバーをデプロイし、リクエストを投げるまでの手順を自分用にまとめました
前提
- Docker コンテナに立てる API サーバーが作成済み
- ローカルと VPS の OS は Ubuntu(ローカルのOSは windows でも手順変わらないはず)
- デプロイしたいソースが GitHub にある
XServer VPS 契約
素直にフォームを入力すればよく、つまずくところはなさそうなので割愛
ただし、アクセス方法に ssh 接続を指定した場合に秘密鍵をダウンロードできるので、ダウンロードしたファイルを消さないよう注意
SSH 接続
ローカルPC から VPS に ssh 接続できるようにする
契約時ダウンロードした秘密鍵を ~/.ssh
におく
~/.ssh/config
を作成し下の内容を記述
Host your_host_name # 任意のホスト名
HostName xxx.xxx.xxx.xxx # 契約した VPS の IPアドレス
User root
IdentityFile ~/.ssh/example.pem # example.pemは秘密鍵ファイルの名前
permission を更新する
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/example.pem
XServerの VPS パネルから ssh 接続を許可するポートを開放する
「パケットフィルター設定を追加」を押下し、「フィルター」に「SSH」を指定するとポート番号 22 が指定されるはず(2024/12/25 時点)
ssh 接続確認
ssh -v your_host_name
Docker インストール
ssh -v your_host_name
で VPS に接続する
apt リポジトリに接続するためのファイルを作成
cat << EOS | sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(lsb_release -cs)
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By:
$(while read line; do echo " $line"; done < <(curl -fsSL https://download.docker.com/linux/ubuntu/gpg))
EOS
Docker Engine, Docker Compose のインストール
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
Git 接続
ssh -v your_host_name
で VPS に接続する
VPS にデフォルトで git はインストールされているようなので、Git インストールはしなくて良い
git --version
ssh 鍵生成
ssh-keygen -f .ssh/github
~/.ssh/config
を作成し下の内容を記述
Host github.com
User git
IdentityFile ~/.ssh/github
公開鍵を cat ~/.ssh/github.pub
で確認し、GitHub の Deploy Key に追加する
読み込みのみを許可する(デフォルト)
導通
ssh -T git@github.com
ビルド
ソースを github から clone する
git clone git@github.com:your-repository-name.git
ローカルと同様の手順でビルドする
API サーバーのポート開放
XServer の VPS パネルから解放したいポートを指定する
「パケットフィルター設定を追加」を押下し、「フィルター」に「手動で設定」を選択
解放したいポート番号を指定して追加する
どの PC からでも下記のように、リクエストが投げられる
curl "xxx.xxx.xxx.xxx:8080/ping"
参考