Ubuntu16.04にQQロボットをインストールします

Ubuntu#にQQRobotをインストールします

今見てみると、QQロボットにはクールなQロボットしかなく、DockerはLinuxで実行できるようです。
次に、クールなQロボットのインストールを開始します。リソースの消費量はそれほど大きくなく、約180Mのメモリを消費します。

強力QHTTP ##をインストールします

最初に dockerをインストールします

CoolQ公式ウェブサイトは docker COOLQ Docker2.0を提供します
しかし、私は HTTPを介していくつかの機能を開発する予定なので、大物が作った HTTPプラグインを備えたCQHTTPDockerを選びました
まず第一に、「プル」ミラー、ダウンロードは比較的遅いと思います、「スクリーン」をゆっくりと掛けます

docker pull richardchien/cqhttp:latest

ダウンロードが完了したら、テスト用のコンテナを起動します

docker run -ti --rm --name coolq \
  - v /home/coolq:/home/user/coolq \  #クールなQプログラムファイルを永続化するために、ホストディレクトリをコンテナにマウントします
  - p 9000:9000 \  #noVNCポート、ブラウザからCoolQを制御するために使用
  - p 5700:5700 \  #HTTPAPIプラグインによって開かれたポート
  - e COOLQ_ACCOUNT=123456 \ #ログインするQQアカウント、オプションですが推奨
  - e CQHTTP_POST_URL=http://example.com:8080 \  #インシデントレポートのアドレス
  - e VNC_PASSWD=111111111 \ #noVncパスワード
  - e CQHTTP_SERVE_DATA_FILES=yes \  #HTTPインターフェイスを介したCoolQデータファイルへのアクセスを許可する
  richardchien/cqhttp:latest

この時点で、 noVNCにログインして、表示およびログインできます。

テストに問題がない場合は、起動パラメータの「--rm」を「-d」に変更して保存して実行します。

docker start coolq
docker stop coolq

監視付きスタートアップセルフスタート##

マシンの電源をオン/オフする頻度を設定したタスクがありますが、起動後に coolqが自動的に起動しないため、 supervisordを選択して自動的に起動します
autorestart = falseに注意してください。coolqを開始した後はexit(0)になるため、 supervisordは再起動を試み続け、1回だけ開始する必要があります。

[ program:coolq]
command=docker start coolq
stderr_logfile=/var/log/supervisor/error_coolq.log
stdout_logfile=/var/log/supervisor/coolq.log
directory=/home
autostart=true
user=docker
autorestart=false

構成情報##

アカウント設定ファイル###

コンテナには独自の「127.0.0.1」があるため、レポートアドレスを「127.0.0.1」にすることはできません。通常、マシン「ip」をレポートアドレスとして使用できます。

[123456789]
use_ws =false
use_ws_reverse =false
serve_data_files = yes
access_token =11111111111111111
log_level = error
post_url = http://example.com:8080
secret =11111111111111111
show_log_console =false
event_filter = filter.json

HTTP構成ファイルをフィルタリングしてレポートします###

{". or":[{"message_type":"private"},{"message_type":"group","anonymous":{".eq":null},"raw_message":{".regex":"CQ:at,qq=2450184313|^出てくる$"}},{"post_type":"request"}]}

ファイアウォール##

Docker iptablesを直接変更し、 ufwよりも優先度が高いため、 ufwを介してリスニングポートの開閉を制御することはできません。Docker情報を手動で構成する必要があります。

# vim /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
# vim /etc/ufw/before.rules
# * フィルタの前に次のコンテンツを追加します
# 172.17.0.0 /16はドッカーブリッジのアドレスであり、異なる場合があります
* nat
: POSTROUTING ACCEPT [0:0]-A POSTROUTING !-o docker0 -s 172.17.0.0/16-j MASQUERADE
COMMIT
# vim /etc/default/docker
# この構成情報を追加します
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"
# vim /etc/docker/daemon.json
# このファイルなしで作成
{" iptables":false}

daemon dockerufwを再起動します

systemctl daemon-reload && systemctl restart docker && ufw reload

Recommended Posts

Ubuntu16.04にQQロボットをインストールします
ポータブルでないQQをubuntuにインストールする
ubuntu18にvscodeをインストールします
UbuntuにRedisをインストールする
ubuntu20にR4をインストールします
Ubuntu18.04にnvtopをインストールします
Ubuntu18.04にpostgresql-10をインストールします
Ubuntuにdockerをインストールする
ubuntu18.04にDockerをインストールします
Ubuntu16にnodejs10をインストールします
Ubuntu14.04にmysqlをインストールします
UbuntuにDjangoをインストールします
Ubuntu16.04にPytorch + CUDAをインストールします
Ubuntu14.04にPython3をインストールします
Ubuntu18にrJavaをインストールします
UbuntuにJDK10 +をインストールする
Ubuntu16.04にPython3をインストールします
Ubuntu16.04.2にKDEをインストールします
Ubuntu18にDockerをインストールする
UbuntuにPython3.7をインストールする
Ubuntuにflashplayerをインストールする
Dockerプラクティス(1):Ubuntu16.04にDockerをインストールします
仮想マシンにubuntuをインストールします
Ubuntu Server14.04にOpenSSL1.0.2をインストールします
Ubuntu 18.04LTSにPython3.7をインストールします
UbuntuにAndroidStudioをインストールする
ubuntuにスクレイプフレームワークをインストールする
MysqlをUbuntuにオフラインでインストールする
UbuntuにOracleJava8をインストールする
Ubuntu16.04にOdoo11スタックをインストールします
Ubuntu16にGoロケールをインストールします
Ubuntu16.04に一般的なソフトウェアをインストールする
オフラインでUbuntu18.04にDockerをインストールする
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
UbuntuにTendau12ドライバーをインストールします
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
UbuntuにMySQLをインストールして構成する
ChefサーバーワークステーションをUbuntu18.04にインストールします
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
ubuntuにbotan2暗号化ライブラリをインストールします
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
docker ubuntu:14.04にpython-PIL-image環境をインストールします
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法