m.estampie.work, blog.estampie.work… と個別に証明書を取っていたのですが面倒になってきたのでワイルドカード証明書を取ることにしました。またHTTP-01チャレンジで行っていたのでDNS-01チャレンジで取得してみます。

DNS-01チャレンジで証明書取得

サンプルはexample.comです。

既にcerbotはインストール済みのため、追加で必要なパッケージを取得します。

sudo apt-get update
sudo apt-get install python3-certbot-dns-cloudflare

CloudflareのダッシュボードでAPIトークンを取得しておきます。テンプレートから「ゾーン DNS を編集する」を選び、対象ドメインを指定します。

取得したら/etc/letsencrypt/cloudflare.iniファイルを作成してAPIトークンを記述します。

sudo vi /etc/letsencrypt/cloudflare.ini
sudo chmod 600 /etc/letsencrypt/cloudflare.ini

/etc/letsencrypt/cloudflare.ini

dns_cloudflare_api_token = APIトークン

元々example.comで証明書を取得していたのでワイルドカード証明書もcert-nameを同名で取得します。

sudo certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
  -d "*.example.com" \
  -d "example.com" \
  --cert-name example.com

完了したら下記コマンドで証明書を確認します。

sudo certbot certificates

ワイルドカード証明書でカバーできる不要な証明書は下記で削除します。

sudo certbot delete --cert-name blog.example.com

Nginxに記述してある証明書ファイルの場所ssl_certificate, ssl_certificate_keyを統一したcert-name example.comのものに置き換えます。

server {
    listen 443 ssl;
    server_name blog.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_verify_client off;
    ...
}

またHTTP-01チャレンジの際に必要だった/.well-known/へのアクセスの切り分けも不要になります。

書き換えたらNginxを再起動します。

sudo nginx -t
sudo systemctl reload nginx

以上で完了です。

IMAPメールの受信ボックスの未読メールから特定の件名&送信元のメールを取得→LINE通知→既読にするPythonスクリプトです。

前回書いたものはGASを使ってGmailのみ対応でしたが、こちらはIMAPメールなら何でも大丈夫です。

サンプルではBoothの購入とskebリクエストが入ったら通知します。

自鯖があればLinuxならCronで定期実行してあげます。

24時間動いているPCがないといけないので、AWSのLambdaを使って無料枠で実行したりも良いかもです。(無料枠だと実行間隔に注意かも)

続きを読む

ちょっとアプリだと色々不便なことが増えてしまったので、スマホでブラウザ版Twitterを使用し、不要なものをUserCSSで消していきます。

続きを読む

独自ドメインにメールも統合しようと思ったのでdocker-mailserverを使用してVPSにメールサーバーを構築しました。

docker-mailserverを使うとPostfixとDovecotでサクッとメールサーバーが構築できます。

送信にはリレーサーバーを使用、また受信ガイドラインの厳しくなったGmailでも受信できるようにdocker-mailserver+CloudflareでDKIM,DMARC,SPFの設定を行います。

元々example.comドメインを使用している前提で[email protected]のメアドを作る感じで説明を入れていきます。

続きを読む

誘われて推しぬいをつくることになったので備忘録です。

推しのぬいが欲しくても顔を刺繍できる程器用じゃない…と思っていたら、刺繍ミシンで利用できる刺繍データを無料で作成できることを知りました。

メギド72のベルゼブフ様とサタン様を作成します。メギド72は利用規約で二次創作グッズの作成が許可されているので経過も載せさせて頂きます。

続きを読む

BOOTH通販を始めてみたのですがあまりメールを見ないため、LINE通知が来るようにしてみました。

前提としてBOOTHからのメールはGmailで受信する必要があります。

仕組みとしては新規注文メールが受信されたらGmail側で自動でboothラベルを付け、Google Apps Scriptにて一定時間ごとに監視し、boothラベルの中に未読のメールがあればLINE通知を送信してメールを既読にします。

続きを読む

Blueskyもちょいちょい使い慣れてきてサードパーティー製アプリもいくつか出来ているので使ってみて、オープンソースプロジェクトのTOKIMEKIのスマホ版が使い易かったのでご紹介です。

webブラウザ版はhttps://tokimeki.blue/からアクセス出来ますが、iOS版は現在開発版をインストールする形になります。

iOS版インストール 🍎

Android版インストール 🤖

iOSではベータ版アプリはTestflightアプリをインストールしてからインストールする形になります。

バグなどあれば報告しましょう~。

続きを読む

謹賀新年 メギド ベルゼブフ&サタン

最近絵を上げていないので…絵置き場ちょっと修正しないとかもかも

ベルゼブフ様実装おめでとうございます!!サタン様もはやく仲間になりますように…

メギド 猫カフェに来たベルゼブフ&サタン

Blueskyも登録してみました。

フィードが便利なのですが、フィードの作れるskyfeedは7日保存だったりたまに重くなるので自鯖に立ててみました。Bluesky公式のfeed-generatorとDockerを使用します。

参考サイト:

Github – ATProto Feed Generator

feed-generatorを使ってBlueskyのCustomFeedを作る

カスタムフィードを作ってみる?

feed-generatorはリアルタイムで全ての投稿が流れてくる中から自鯖のDBにデータを選んで保存し、そのDBからフィードを作成してフィードのjsonを返します。

AT protocolの思想にcraving indexerがBluesky鯖の外部に作成されて分散型でも鯖を跨いでデータを収集し検索や統計に使用されるという要素が有り、フィード作成はその思想の一端を担っている印象です。(現時点まだ鯖間の連合はできないですが…)

続きを読む

Perconaのoperatorではイメージにpgroongaがインストール出来ずZalando Postgres Operatorを使うことにしたので別記事にしました。

Percona Operatorのインストール

自動フェイルオーバーやバックアップ周りをやってくれるOperatorです。PgBouncerを使えばPgpoolを入れなくてもプーリングが可能です。

使用しようとしていたCrunchyPGOのPostgreSQLのイメージの権利周りがちょっと問題ありそうなのでfork版のPercona Oparator for PostgreSQLを使用します。

続きを読む