Skip to content

デプロイ方法

RyuseiFujisaki edited this page Feb 11, 2023 · 14 revisions

初回デプロイ時やること

releaseブランチを最新版にする

  • New pull requestでreleaseブランチを最新版にするためのPRを出し、mergeする
image

lottery用のlxcコンテナを作成~リポジトリのclone

  • 既存のubuntu-20.04のlxcコンテナをクローンする。
image
  • hostをlotteryで新規lxcを作成し開始を押す
image
  • コンソールに入り、lotteryのリポジトリをgit clone $git clone https://github.com/NUTFes/lottery.git

Cloudflare用のlxcコンテナの作成 ~ Cloudflareのinstall

  • 上記同様に、既存のubuntu-20.04のlxcコンテナをクローンして、新規lxcコンテナを作成→開始を押す→コンソールに入る
image image `$sudo apt-get install ./cloudflared-fips-linux-amd64.deb`

Cloudflareのログイン

  • Cloudflareのログイン

$Cloudflared tunnel login
以下のようにloginするためのURLが表示されるので、コピーしてブラウザで開く。 image

  • 認証

nutfes.netを選択
image
Authorizeを押す
image
You have successfully logged in.がターミナルに出れば完了

トンネルの作成

https://zenn.dev/yakumo/articles/b1f0e1115cb5b6#%E6%89%8B%E9%A0%863-%E3%83%88%E3%83%B3%E3%83%8D%E3%83%AB%E3%82%92%E4%BD%9C%E3%82%8Bここからはこの記事が参考になる。

  • トンネルの作成 $cloudflared tunnel create lottery

  • credencialsfileが~/.cloudflareにあるので確認する

$ls
1234567890-9876-1234-abcd-abcdef85cd7d.json  cert.pem

設定ファイルの作成

~/.cloudflared/config.yamlを作成する。

$nano config.yml

config.ymlに以下を記述

tunnel: 1234567890-9876-1234-abcd-abcdef85cd7d
credentials-file: /etc/cloudflared/1234567890-9876-1234-abcd-abcdef85cd7d.json

ingress:
 - hostname: XXX.nutfes.net
   service: http://[lotteryのlxcのip-address]:1323
   protocol: http
 - service: http_status:404
   protocol: http

cloudflareのDNSにトンネルを登録する

$cloudflared tunnel route dns lottery XXX.nutfes.net

サービスの登録

  • credentialファイルとconfig.ymlを/etc/cloudflare/にコピーする
$cp ~/.cloudflare/config.yml /etc/cloudflare/
$cp ~/.cloudflare/1234567890-9876-1234-abcd-abcdef85cd7d.json /etc/cloudflare/ 
  • サービスの登録
$cloudflared service install

トンネルが通っていることを確認する image

lotteryのサービスの起動

  • lottery.envファイルを作成する

  • イメージビルド

$sudo docker-compose -f docker-compose.prod.yml build
  • DBを作成
$make run-initdb
  • コンテナ起動
$sudo docker-compose -f docker-compose.prod.yml up