Asterisk PBX with certbot client for serving SIP/TLS connection & auto renew feature.
docker-compose up すると証明書がないというメッセージが出るので
[+] Running 1/0
✔ Container asterisk-pbx-1 Created 0.0s
Attaching to pbx-1
pbx-1 | No certificates exist!
pbx-1 | Run "certbot certonly --standalone --agree-tos -m YOUR_EMAIL_ADDRESS -d YOUR_PBX_DOMAIN --elliptic-curve secp384r1" to get certificates
別ターミナルからdocker compose exec pbx shでコンテナ内に入り certbot certonly --standalone --agree-tos -m YOUR_EMAIL_ADDRESS -d YOUR_PBX_DOMAIN --elliptic-curve secp384r1 で証明書を取得します。
docker compose exec pbx sh
/ # certbot certonly --standalone --agree-tos -m YOUR_EMAIL_ADDRESS -d YOUR_PBX_DOMAIN --elliptic-curve secp384r1
取得したら一度docker compose downしておきます。
docker-compose up -d したあとdocker compose exec pbx shでコンテナ内に入り/etc/letsencrypt/emptyでダミーファイルを作成しておきます。
# docker compose exec pbx sh
/ # touch /etc/letsencrypt/empty
/ # exit
# docker compose down
exitしてdocker compose downしておきます。
docker compose up -dで起動します。必要な .conf ファイルはcompose.ymlのvolume:項に書いておきます
取得した証明書はコンテナ起動時に/var/lib/asterisk/keys/へコピーされるので、 pjsip.conf などから参照して使用します。(sample-config/ 参照)