RailwayでDiscordBotを動かしてみた
LINEBotや簡単なウェブサイト、一時期はDiscordBotを公開するために、 無料のプラットフォームサービスHerokuを利用していましたが、 2022/11/28に完全有償化されました。
ということで、Herokuの代替サービスと言われているRailwayで、今回はDiscordBotを動かしてみようと思います。
初投稿なので拙い部分があるかもしれません。
※鉄道ではありません
Railwayの初期設定をする
Railway にアクセスし、「Start a New Project」をクリックします。
GitHubからデプロイする形だけではなく、各種データーベースを作成出来たりテンプレートからプロジェクトを作成することが出来るみたいです。
今回は Githubからデプロイを行うので一番上の「Deploy from Github repo」をクリックします。
「Login With Github」をクリックして、Githubと連携させます。
アカウントを認証する
このままでは使えないので、規約に同意して使えるようにします。
Githubでログインすると右上に下のような表示が出るので、「Verify Account」を押します。
To begin, accept the Terms of Service
の Terms of Service
を押して、Privacy and Data Policy と Fair Use Policy に同意します。
これで、GithubとTemplatesからプロジェクトを作成できるようになりました。
プロジェクトを作成する
長くなりましたが、ようやくプロジェクトを作成するときが来ました。
https://railway.app/new か https://railway.app/dashboard にアクセスしてプロジェクトを作成します。
「Deploy from Github repo」 を押すと、自分のリポジトリが表示されるので、Railwayにデプロイするリポジトリを選びます。
プロジェクトの設定
環境変数
今回は環境変数を設定する必要があるので、「Add variables」を押します。
右側の「Variables」のタブに行き、環境変数の名前と値をHerokuと同じように入力して、「+ Add」を押します。
デプロイの設定
今の状態では、スタートコマンドが設定されておらず起動しないため、その設定をする必要があります。
「Settings」タブに移動し、「Service」欄の「Deploy」のところまでスクロールします。
「Start Command」の欄に、Pythonの場合は、
python main.py
と入力します。main.pyファイルがないと認識しないみたいなので、メインファイルの名前はmain.pyとしておきましょう。
他の言語の設定等はhttps://docs.railway.app/deploy/buildsに書いてあるのでそちらを参考にして下さい。
再度デプロイされると、DiscordBotが起動しました。
料金について
最後にRailwayの料金設定についてですが、
無料枠が5$で(クレジットカードで10$までだが、リソースを使いすぎると請求されてしまう模様)音声処理など重い処理をしないものなら、0.3$程で動かすことが出来ます。
サービス数 x (稼働時間(s) x (メモリ使用量 (GB)) + CPU使用料 (cores))
で使用コストが計算されるようです。参照
使ってみた感想
Herokuと比べるとUIもかなり分かりやすく、簡単にデプロイすることが出来ました。
数種類のDBクライアントも提供しているので、HerokuでDBを使いたかったけど分かりにくくて使わなかった方や、Herokuから乗り換えようと考えている方は、ぜひ使ってみてはいかがでしょうか?
Discussion