Craig (Discord bot) を試してみる
参考URL:
AWS EC2にて
Read meに沿って以下を導入
インストールの記録
94 npm install
95 apt install ffmpeg
96 sudo apt install ffmpeg
97 apt install flac
98 sudo apt install flac
99 apt install oggenc
100 sudo apt install oggenc
101 apt install vorbis-tools
102 sudo apt install vorbis-tools
103 sudo apt install opus-tools
104 sudo apt install fdkaac
105 apt install zip
106 sudo apt install zip
107 sudo apt install upzip
108 sudo apt install unzip
110 cd craig
111 cd cook
112 for i in *.c; do gcc -O3 -o ${i%.c} $i; done
113 sudo apt install gcc
114 for i in *.c; do gcc -O3 -o ${i%.c} $i; done
115 for i in *.svg; do inkscape -e ${i%.svg}.png $i; done
116 sudo apt install inkscape
sudo add-apt-repository ppa:ondrej/php
sudo apt install ffmpeg flac fdkaac zip unzip vorbis-tools opus-tools node-gyp make inkscape php7.3 php7.3-cli php7.3-mysql php7.3-gd php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-common php7.3-curl php7.3-mbstring php7.3-xml php7.3-bcmath php7.3-bz2 php7.3-intl php7.3-json php7.3-readline php7.3-zip libapache2-mod-php7.3
node-gypで依存エラー...
sudo apt update && sudo apt upgrade → ×
断念
Dockerでやってみる
docker run -it ubuntu:22.04
apt update
sudo add-apt-repository ppa:ondrej/php
ただし1.の最後、nvm install 10は最新版にすること(現時点では nvm install 16)
config.json の urlは録音したファイルを取得するためのWebサーバのURL.
dockerのコマンドを最低限思い出す
docker run 新しいコンテナを作る
docker ps 稼働中のコンテナリストを見る(-aで動いてないやつも表示)
docker attach コンテナID 稼働中のコンテナに入る 動いたは良いが、discord botをサーバに招き入れるには?
developer portal で URLを作ってそこにアクセスする
discord bot
step6 webサーバを立ち上げる
ufwがないので入れる
apt -y install ufw
iptablesコマンドが動かない
このページに書いてある通り、docker runでオプション指定すれば実行できるんだけど、すでにコンテナは作られているので、docker runできるのか??(誰か教えて)
作業を一旦止めて、コンテナをエクスポートする
コンテナのエスクポート
動いてると思うけどうんともすんとも言わないのでとりあえず放置しておく
imageを使ってdocker runする
docker image list で前に作ったdocker image(ubuntu-craig)があることを確認できた
docker run -it --cap-add=NET_ADMIN ubuntu-craig /bin/bash
で、きどうする。
をあたまから
ufw status でinactive だったので立ち上げる
% ufw enable
code:bash
% systemctl status apache2
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
dockerでやってるからかな
dockerでapacheを起動できるのか、起動したことをどう確認できるのか
うーん、わからないけどとにかくapache2が動いていることがわかれば良い(apt install時に起動はされているらしい)
awsでdockerのwebサーバを見れるようにする
これを参考に
docker run -it --cap-add=NET_ADMIN -p 80:80 ubuntu-craig-web /bin/bash
できた。
ただし、apacheがおちてるので、
service apache2 start
で動かす必要がある。
php入ってなかった問題
apt install php libapache2-mod-php