Home Artists Posts Import Register

Content

絶対Fanboxに書くような内容じゃないけど日本語の記事見つからなかったので備忘録も交えて書きます。


使ってるFW機器やOS/ソフトウェアの脆弱性情報については色んな方法で情報収集していますが、その一環で「各ベンダWebサイトのRSSを収集してみるか」ということで調べたら「MonitoRSS」というボットサービスを見つけました。公式の用意しているサーバは無料では5件までの登録だったので、自鯖で起動してみることにしました。



環境

HPE ProLiant DL360 Gen9 VMware ESXi 7.0

└Debian 11.5(8vCPUs/32GB RAM/64GB SSD)

1.適当なサーバを立ち上げる。

ESXiにてDebianディストリビューションの適当なサーバを立ち上げます。

適当なホスティングサービスを利用してもいいですが、記事では別のFW機器にて通信制御を行っており本体のFWは切ってるのでそこら編の設定は各自きちんと行うように。


ディストロはRedHat系でもいいですが、podmanでcomposeを動かすには色々調整しないといけない上、DockerfileのRUNでコケまくって「これディストロが悪いのかバージョン違いとかが悪いのかわかんねぇから切り分けすッペ!」とDebianで試したら一発で立ち上げれたのでDebianでやります。


↓全て終わったあとのリソース状況、GNOMEはインストールせず最小構成、ストレージはシンプロビジョニング



2.Dockerのインストール

以下ドキュメントを素にDockerと関連コンポーネントを入れていきます。


色々入れて


apt-get install \

ca-certificates \

curl \

gnupg \

lsb-release

GPGキーの追加、リポ登録


mkdir -p /etc/apt/keyrings


curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg


echo \

"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \

$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null


Dockerインストール


apt-get update


apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin


3.MonitoRSSのClone取ってくる

以下githubからwgetとかで取ってくる。

unzipもないのでインストールして解凍


解凍後移動してComposeファイルの編集に移る・・・前にDiscordのBOTを作成します。


4.Discordのアプリケーション・BOTを作成する


アプリケーションを作成して

作ったらBotを作成します。ロボットはクールなので一度作ったら壊せないらしいですが容赦なく作ります。 (|)<光・・光を使おう

出来たらReset Tokenを押下し、トークンを発行してコピーしておきます。

次にQAuth2でClientIDをコピー、シークレットも発行してコピー

リダイレクトを追加して「http://[MonitoRSSのWebを動かすサーバのIP]:ポート/authorize」を入力します。


5.Composeファイルの編集・実行

docker-compose.ymlを編集して

vi docker-compose.yml

DRSS_BOT_TOKEN=Botのトークン

DRSSWEB_BOT_TOKEN=上に同じ

DRSSWEB_BOT_REDIRECTURI=QAuthにて設定した「http://[MonitoRSSのWebを動かすサーバのIP]:ポート/authorize」

DRSSWEB_BOT_CLIENTID=QAuth2のClientID

DRSSWEB_BOT_CLIENTSECRET=QAuth2のClientSecret

にします。


Dockerサービスが動いていることを確認し

systemctl status docker


ファイアウォール系サービスが動いているか確認し(動いていたらポリシー追加するなりなんなり)

systemctl status firewalld

systemctl status iptables

systemctl status ufw


実行!初回は環境にもよりますが立ち上がりまで10分くらいかかりました。

docker compose up -d

動いていることを確認

6.動作確認

コンテナの起動を確認したらブラウザから「http://[サーバのIP]:8081」へ接続します。以下のようなページが開けるはず

「Invite me」でサーバへ招待して、「Control Panel」から設定を行えます。

初回の「Control Panel」接続時にDiscordアカウントの許可云々が出てきますが、このページでエラーが発生したりループしてしまう場合はQAuthのリダイレクト設定とDRSSWEB_BOT_REDIRECTURIの値が同一か、正しい値か確認してください。


Feedを設定し、更新があると自動的に特定チャネルへ投稿されます。


7.最後に

dockerはたまに使ってましたがcompose初めて使いました(今更)。複数のコンテナを一気にガッチャンコ出来るの便利で良いですね。


基本的にDebian系よりRedHat系を好んで使っているので、RedHatで上手く動かなかった原因も探りたいところ。

Files

Comments

No comments found for this post.