Amazonのアソシエイトとして、このブログは適格販売により収入を得ています。

Cloudflare(Tunnel)すげーという話

サービス

パソコンが余ったから、Ubuntu入れてDockerのサーバを作った。
主な目的は

HomeAssistant
アレクサとGoogleHomeから切り替えるため。
Open webUI
ローカルLLMに興味があった。
ntfy
LINE Notifyは課金圧が強い。
KeepassXC
いつGoogleが死ぬか分からんでしょ?
Paperless-ngx
スキャンしてPDF化した子どもや家に関する書類が大量にあるので、データとして管理できるようにしたい。

この辺。
他にも、RSSリーダーとかGmailが他のメールアカウントのハブになるのをやめた対策とか自前のメモ帳とかいろいろやりたいことはあるんだけど。
サービス終了に怯える生活が嫌なのと、セキュリティを自分で担保したい気持ちと、円安の影響で様々なサービスの課金額が増えていくことの対策…あたりが理由になるのかな。
家庭菜園で自給自足の生活をしたいという思考に似てる。多分。

適当に選んだけど、Ubuntuは分かりやすくていい。
何が分かりやすいかって、RaspberryPiで慣れ親しんだコマンドとかがだいたい使える。
インターネット上の知見も非常に多い。

で、昔の自宅サーバといえばDDNSを使って云々という感じで、生IPがどうしても漏れ出すのが嫌だったんだけど。
内容を管理しきれないIoT機器が増えたとか、NASにプライベートなデータが詰まりすぎてるとか、公開するのはいろいろ懸念がある。
そこで見つけたのがCloudflareのTunnelという機能。

Dockerを管理するために導入したPortainer.ioの中で、tunnel用のstackを一つ立ち上げ。
Cloudflareと連携して、ドメイン適当に1つ買って、tunnelを設定。
あと一応、Zero trustという機能も使い、メールを使用した認証コード機能も付加した。

Cloudflareで買うとドメインも安いんだね。年間5ドルだって。
勢いで5年契約しちゃった。

たったこれだけでどうなるかというと。
買ってきたドメインをhogehoge.winとして…

https://ai.hogehoge.winにアクセスすると、
Cloudflareでメール認証を済ませた後、tunnelを通ってサーバのdockerまでつながって、
DockerのOpen webUIが動いてるローカルのhttp://192.168.1.201:3000に繋げてくれて、
Dockerで動かしてるOpen webUIが開く。

ということができる。
URL叩く時にポート番号入れなくていいんだ!?とか、ローカルはhttpなのに外ではhttpsにしてくれるんだ!?とか、一旦Cloudflareを経由するおかげでローカルでもグローバルでも同じURLを叩いて繋がるんだ!?とか、浦島太郎をすっ飛ばしてタイムマシンに乗った気分。

こっちの知識は
「うわぁ~DMZでサーバつなげるのこわ~い」とか「DDNS更新ってよく分かんないからWindowsでDiCE起動しとこ~」とか昔やってただけの素人原始人なわけ。
あまりにもスタイリッシュかつ簡単に設定が終わってしまい、マジでビビった。

今は勢いでいろいろ接続して楽しんでいる。
立ち上げてるdockerのサービスごとにサブドメインがあって、そこに接続するだけで各サービスを使用できる状態。

あまりにも便利すぎておしっこ漏らしそうになったんだけど、サーバにしてるパソコンのGPUが雑魚すぎてろくなAIモデルが動かないことが発覚。
DGX sparkがこっちを見ている。やめてくれ。うんち漏らすぞ。

AIやらないなら、64bitのCPUが載ってるNASを買うのが一番丸いとは思う。


UGREEN NASync DXP4800 GT 4ベイNASキット AMD Ryzen R2514(ECC対応) 8GB DDR4メモリ(64GBまで増設可能)

タイトルとURLをコピーしました