Cloudflare

どこからでもWolfram Engine + JupyterLabにアクセスできる環境を構築する

どこからでもWolfram Engine + JupyterLabにアクセスできる環境を構築する

無料で使えるWolfram EngineをJupyterLabと組み合わせることでMathematicaっぽいノートブック環境を構築できる。

ただ、既存のやり方では環境構築に結構手間がかかるほか、起動時に毎回トークンをブラウザにコピペする必要があった。

そこで認証機能はCloudflare Accessに任せることで起動時のトークン入力を省略し、 またCloudflare Tunnelと組み合わせることでどこからでもアクセスできるようにしつつ、 docker composeを使ってコンテナに格納してしまうことで可搬性を高めた環境を構築してみた。

Cloudflareで公開しているホストとAccessのポリシーの対応一覧を作成する

Cloudflareで公開しているホストとAccessのポリシーの対応一覧を作成する

Cloudflareは非常に便利で、Cloudflare Tunnel, Cloudflare Workers, Cloudflare Pagesなどいろんな方法でホストを公開しつつ、 Cloudflare Access (Cloudflare Zero Trust Applications)で認証の制御をしたり、といったことが簡単にできる。

一方で、公開しているホストは全部でどれだけあるのか、ポリシーの当て忘れはないか(当て忘れると一般公開されてしまう)、などがわかりにくい面があった。

そこでGASとCloudflareのAPIを使って、公開しているホストの一覧と、Accessで設定しているホストとポリシーの一覧を表示させるスクリプトを作ってみた。

Argo Tunnelで複数のトンネルをサービスとして起動

Argo Tunnelで複数のトンネルをサービスとして起動

CloudflareのArgo Tunnelはサービスとして起動することができるが、現時点では設定ファイルが決め打ちになっているため、そのままでは1本のトンネルしか起動できない。

そこで、ユニットファイルを少し変更して1台のマシン上で複数のトンネルを起動できるようにした。