重要なポイント:
PUBLIC_ORIGINはユーザーが使用する最終的な公開URLと一致させる必要があります(例:https://teable.example.com。末尾の/は付けません)- HTTPS + 証明書をデフォルトとして扱うことを強く推奨します(本番トラフィックに暗号化されていない HTTP を使用しないでください)
- WebSocket 機能を使用する場合、リバースプロキシは
Upgrade/Connectionヘッダーを転送する必要があります
推奨:HTTPS(デフォルト/本番環境)
HTTPS をデフォルトとして扱い、エンドユーザーには443番ポートで提供してください。80番ポートは443番ポートへのリダイレクト(または ACME HTTP-01 チャレンジ)だけに使用します。 以下は本番環境向けの例(HTTPS + WebSocket + HTTP→HTTPS リダイレクト)です。ドメインと証明書のパスを置き換えてください。証明書(発行/更新)
- Let’s Encrypt(推奨):Certbot または acme.sh を使用して、自動的に発行・更新します
- GUIツール:Nginx Proxy Manager では、画面上で証明書を申請し、自動更新できます
例1:最小限の location /(クイックスタート)
注:これは内部ネットワークや簡易確認向けの HTTP のみの例です。本番環境では、上記の HTTPS 設定を推奨します。
Docker に関するヒント
- ホスト上の Nginx、コンテナ内の Teable:通常は
proxy_pass http://127.0.0.1:3000;を使用します(3000:3000が公開されている場合) - 同じ Docker ネットワーク内の Nginx と Teable:サービス名またはコンテナ名を介してルーティングできます。例:
proxy_pass http://teable:3000;
よくある注意点
- パスの書き換えを避ける:動作を正確に理解していない状態で書き換えると、Teable の内部ルーティングが壊れる可能性があります。
PUBLIC_ORIGINが正しいことを確認する:生成されるURL、リダイレクト、インポート/アップロード処理、コールバックなどに影響します。
Nginx Proxy Manager(NPM)
Nginx の設定を手作業で記述したくない場合は、GUIツールを使用してドメイン、証明書、プロキシホストを管理できます。- Nginx Proxy Manager(NPM):Docker ベースの環境で一般的に使用されます
- プロキシホストを作成:
ドメイン名をteable.example.com、スキームをhttp、転送先ホスト名/IPを127.0.0.1(または Docker ネットワーク内のteable)、転送先ポートを3000に設定します - WebSocket 対応を有効化:プロキシホストのオプションで WebSocket 対応をオンにします(ラベルはバージョンによって異なります)
- SSLを発行/割り当て:Let’s Encrypt 証明書を申請または選択し、必要に応じて HTTPS リダイレクトを強制します
- Teable の環境変数を忘れずに設定:
PUBLIC_ORIGINを最終的な公開URL(例:https://teable.example.com)に設定します

