ドッカー
Docker は、ブラウザからアクセス可能な環境でセルフホスティング Dory を実行するための最も直接的なパスです。コンテナはポート3000で待機します。
最小限のコマンド
docker run -d --name dory \
- p 3000:3000 \
- e DS_SECRET_KEY="$(openssl rand -base64 32 | tr -d '\n')" \
- e BETTER_AUTH_SECRET="$(openssl rand -hex 32)" \
- e BETTER_AUTH_URL="http://localhost:3000" \
- e NEXT_PUBLIC_REQUIRE_EM AI L_VERIFICATION=false \
- e DORY_INIT_USER_EM AI L=admin@getdory.dev \
- e DORY_INIT_USER_PASSWORD=admin \
dorylab/dory:latest http://localhost:3000を開き、初期化されたユーザーでサインインします。
AI を有効にする
SQL の生成、AI チャット、結果分析が必要な場合は、AI 環境変数を追加します。
- e DORY_AI_PROVIDER=openai \
- e DORY_AI_MODEL=gpt-4o-mini \
- e DORY_AI_API_KEY=your_api_key_here \
- e DORY_AI_URL=https://api.openai.com/v1 \サポートされているプロバイダーには、openai、openai-compatible、anthropic、google、qwen、xai、およびmetaが含まれます。
.env ファイルを使用する
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
dorylab/dory:latestデータを永続化する
Dory は、独自のアプリケーション データにデフォルトで PGlite ファイル ストレージを使用します。 Docker で、そのファイルを/app/data の下に保持し、/app/data を永続ディスク ストレージにマウントします。
docker volume create dory-data
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
- e DB_TYPE=pglite \
- v dory-data:/app/data \
dorylab/dory:latestホスト ディレクトリを使用することもできます。
mkdir -p /srv/dory/data
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
- e DB_TYPE=pglite \
- v /srv/dory/data:/app/data \
dorylab/dory:latestDory に SQLite および DuckDB ファイルを読み取らせたい場合は、それらのファイルもコンテナにマウントする必要があります。
アプリケーション データに Postgres を使用する
運用環境では、Dory アプリケーション データを Postgres に保存できます。
DB_TYPE=postgres
DATABASE_URL=postgres://dory:strong_password@postgres.example.com:5432/dory次に、同じ.env ファイルを使用してコンテナーを実行します。
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
dorylab/dory:latestリバースプロキシとHTTPS
チーム展開のために Dory をHTTPSの後ろに置きます。BETTER_AUTH_URLをパブリック DoryURLに設定し、そのURLをTRUSTED_ORIGINSに含めます。
アップグレードのチェックリスト
- 永続データと
.envをバックアップします。 - 新しいイメージをプルします。
- 古いコンテナを停止します。
- 同じ env ファイルとボリュームを使用して新しいコンテナを起動します。
- ログイン、接続、SQL コンソール、AI、および保存されたクエリを確認します。
FAQ
認証リンクで間違ったドメインが使用されるのはなぜですか?
BETTER_AUTH_URLが、ユーザーが開いているパブリックURLと正確に一致することを確認します。
AI が利用できないのはなぜですか?
DORY_AI_PROVIDER、DORY_AI_MODEL、DORY_AI_API_KEY、およびDORY_AI_URLを確認してください。
Docker がローカルの SQLite または DuckDB ファイルにアクセスできないのはなぜですか?
ファイルはコンテナにマウントする必要があります。 Dory 接続を作成するときは、コンテナ内のパスを使用します。
次のステップ
このガイドは役に立ちましたか?