🚈

RailwayでDiscordBotを動かしてみた

2022/12/01に公開

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 ServiceTerms of Service を押して、Privacy and Data PolicyFair Use Policy に同意します。

これで、GithubとTemplatesからプロジェクトを作成できるようになりました。

プロジェクトを作成する

長くなりましたが、ようやくプロジェクトを作成するときが来ました。

https://railway.app/newhttps://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