Skip to content
DockFlareをインストール

DockFlareをインストール

2026年7月25日

DockFlare のインストール方法のメモを残しておく。

DockFlare とは何か?

docker compose の label に設定するだけで、簡単にサービスを公開できるツール。

DockFlareを使わないと Cloudflare 上で、次のようなことを自分の手で行う必要がある。

  • トンネルの作成
  • ドメインとトンネルの接続 (裏でDNSが作成される)
  • トンネルとアプリケーション (port) の紐付け

しかし、DockFlare を使うと、これらをサクッとできるようになる。

例えば、Nginx のサービスを nginx.tamago324.com で公開するには、以下のようにするだけ。
本当に label をつけるだけで公開できて、すごい便利。

services:
  nginx-webserver:
    image: nginx:latest
    container_name: my-nginx
    restart: unless-stopped
    networks:
      - cloudflare-net
    labels:
      - "dockflare.enable=true"
      - "dockflare.hostname=nginx.tamago324.com"
      - "dockflare.service=http://nginx-webserver:80"
      - "dockflare.access.group=public-default-bypass"

networks:
  cloudflare-net:
    name: cloudflare-net
    external: true

前提

  • docker が入っていること
  • Cloudflare アカウントを作成していること
    • ドメインを CloudFlare に設定済み (自分の場合は、CloudFlare でドメインを契約しているため、特に何もしていない。)

インストール

スクリプトを実行するだけ。

curl -fsSL https://dockflare.app/install.sh | bash

~/dockflare/docker-compose.yml がダウンロードされて、起動する。

初期設定

1. 管理者ユーザーの作成

http://192.168.3.52:5000 にアクセスすると、初期セットアップ画面が表示される。
まずは、管理者ユーザーの作成を作成する。

2. Cloudflare の設定

2-1. API トークンの作成

DockFlare は、Cloudflare の API を経由して、Tunnel の作成などを行うため、APIキーを作成する必要がある。

  1. https://dash.cloudflare.com/profile/api-tokens/ にアクセス
  2. トークンを作成する > カスタムトークンを作成する
    1. https://dockflare.app/docs/prerequisites に書かれている権限を付与する

作成画面に表示されるトークンIDをコピーして、どこかにメモしておく。

2-2. 画面に入力

  • Cloudflare API Token: 2-1 で作成したもの
  • Cloudflare Account ID: Cloudflare の Workers & Pages に記載されているアカウントID

3. Tunnel の設定

基本はデフォルトでOK。
Tunnel Name は任意で変更する。

4. 最終確認

確認画面の内容を確認して、OKそうなら、次に進む。

5. ログイン

admin でログインする。

アクセスポリシーの設定

DockFlare にはアクセスポリシー (Access Groups) という概念がある。
これを使うと、Cloudflare Zero Trust (cloudflared) を使って、セキュアなアクセスを実現できる。

2つのデフォルトアクセスポリシーが用意されている。

  • Authenticated Access
    • 認証付きのアクセスポリシー
    • このポリシーをカスタマイズすると、使いやすい。
  • Public Access (Bypass)
    • 誰でもアクセスできるアクセスポリシー

Authenticated Access の設定

デフォルトのアクセスポリシーをカスタムする。
自分だけしかアクセスしないことがわかっている場合は、メールアドレスとアクセス元の国の設定をしておくと、よりセキュアにできる。

Access Policies タブの Authenticated Access の Edit をクリック

以下のように設定する。

  • Allowed Emails or Domains (Required with IdPs)
    • 自分のメールアドレス
  • Blocked Countries
    • 日本以外を設定
      • Select All をクリックして、Japan を削除する。
  • Session Duration
    • 720h

試しに Nginx を立ててみる

Dockflare を使ったサービス公開を試してみる。

認証なしのアクセスポリシーを使ってみる

まずは、Public Access (Bypass) のアクセスポリシーでアクセスしてみる。

compose.yml を作成する。

mkdir ~/nginx
vim ~/nginx/compose.yml
services:
  nginx-webserver:
    image: nginx:latest
    container_name: my-nginx
    restart: unless-stopped
    networks:
      - cloudflare-net
    labels:
      - "dockflare.enable=true"
      # ここは、自分のドメインのサブドメインを指定する
      - "dockflare.hostname=nginx.tamago324.com"
      - "dockflare.service=http://nginx-webserver:80"
      # bypass する
      - "dockflare.access.group=public-default-bypass"

networks:
  cloudflare-net:
    name: cloudflare-net
    external: true

label をつけるだけで、cloudflared と紐づけてくれる。

  • dockflare.enable: 有効か?
  • dockflare.hostname: ホスト名
  • dockflare.service: サービス、ポート
  • dockflare.access.group: グループ
    • 今回は、デフォルトのアクセスポリシーを指定

起動する。

cd ~/nginx
docker compose up -d

ダッシュボードを確認してみると、設定が適用されていることがわかる。

https://nginx.tamago324.com にアクセスしてみる。

ラベルを設定するだけで実現できた。

認証付きのアクセスポリシーを使ってみる

さっきは、アクセス制限なしのポリシーとしていたため、制限なしでアクセスできた。
次は、 Authenticated Access のポリシーを使って、指定したメールアドレスにワンタイムパスワードを送信する方式でアクセスを制限してみる。

これもlabelを指定するだけで実現可能。

  services:
    nginx-webserver:
      image: nginx:latest
      container_name: my-nginx
      restart: unless-stopped
      networks:
        - cloudflare-net
      labels:
        - "dockflare.enable=true"
        # ここは、自分のドメインのサブドメインを指定する
        - "dockflare.hostname=nginx.tamago324.com"
        - "dockflare.service=http://nginx-webserver:80"
        # bypass する
-       - "dockflare.access.group=public-default-bypass"
+       - "dockflare.access.group=authenticated-default"
  
  networks:
    cloudflare-net:
      name: cloudflare-net
      external: true

再起動する。

docker compose up -d

https://nginx.tamago324.com にアクセスしてみる。

Cloudflare Access の画面が表示された。

設定したメールアドレスを入力すると、メールが飛んできて、コードを入力すれば、アクセスできる。

おわりに

自宅サーバーで稼働しているサービスをセキュアに簡単に公開できる DockFlare は便利。
cloudflared が便利で、それをさらに使いやすくしているのがいいのかも。

Link

Last updated on