図
Cloudflare
DNS nameserverをCloudflareに設定することで、DNS設定、SSL設定、自宅ネットワークへのトンネリングをWeb UIから行うことができる。
いくつか制限はあるものの、単純にWebアプリケーションをインターネットに公開するだけなら無料プランで十分に使える。
Raspberry Pi 4
Raspberry Pi 4 Model B/8GBをメインサーバーとして使っている。 特に性能的に不満はない。
通常時起動時のhtop
Docker
Raspberry Pi 上のDockerコンテナを用いて、複数のアプリケーションが動いている。
例えばこのブログではnginxコンテナをlocalhost:1313にport forwardして起動している。
version: "3.2"
services:
host:
image: nginx:xxxxx
container_name: xxxxx
volumes:
- type: bind
source: ./public/
target: /usr/share/nginx/html/
- type: bind
source: ./nginx/
target: /etc/nginx/conf.d/
ports:
- 1313:80
Tunnel, cloudflared
Cloudflareと、自宅のインターネットを接続するために、Cloudflare Tunnelを用いる。 もちろん外部からは接続できないCloudflareとの専有線で、ポートを開放するなどの自分のインターネットルーターへの設定は特に必要ない。
自宅ネットワーク側のTunnelの終端として、cloudflaredを常に起動しておく必要がある。
例えばこのブログでは、以下のように設定してRaspberry Piのlocalhost:1313をkajindowsxp.comとして公開している。
公式Doc https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/