Docker ComposeでFlexAIをデプロイする¶
Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
Tip:
一般的なデプロイに関する質問については、[FAQ](/ja/self-host/quick-start/faqs)を参照してください。
デプロイ前の準備¶
お使いのマシンが以下の最小システム要件を満たしていることを確認してください。
ハードウェア¶
- CPU >= 2コア
- RAM >= 4 GiB
ソフトウェア¶
| オペレーティングシステム | 必要なソフトウェア | 備考 |
|---|---|---|
| macOS 10.14以降 | Docker Desktop | Docker仮想マシンを最低2つの仮想CPUと8 GiBのメモリで設定してください。 インストール手順については、Mac用Docker Desktopのインストールを参照してください。 |
| Linuxディストリビューション | Docker 19.03+ Docker Compose 1.28+ |
インストール手順については、Docker EngineのインストールおよびDocker Composeのインストールを参照してください。 |
| WSL 2が有効なWindows | Docker Desktop | Linuxコンテナにバインドされるソースコードやデータは、Windowsファイルシステムではなく、Linuxファイルシステムに保存してください。 インストール手順については、Windows用Docker Desktopのインストールを参照してください。 |
FlexAIのデプロイと起動¶
FlexAIをクローン¶
FlexAIのソースコードをローカルマシンにクローンします。
```bash
git clone --branch "$(curl -s https://api.github.com/repos/flexai/flexai/releases/latest | jq -r .tag_name)" https://github.com/flexai/flexai.git
```
FlexAIを起動¶
1. FlexAIソースコード内の`docker`ディレクトリに移動します:
```bash
cd dify/docker
```
2. 環境設定ファイルの例をコピーします:
```bash
cp .env.example .env
```
Note:
フロントエンドとバックエンドが異なるサブドメインで動作する場合は、`.env`ファイルで`COOKIE_DOMAIN`をサイトのトップレベルドメイン(例:`example.com`)に設定し、`NEXT_PUBLIC_COOKIE_DOMAIN`を`1`に設定してください。
認証Cookieを共有するためには、フロントエンドとバックエンドが同じトップレベルドメイン下にある必要があります。
3. お使いのDocker Composeバージョンに合わせたコマンドでコンテナを起動します:
```bash Docker Compose V2
docker compose up -d
```
```bash Docker Compose V1
docker-compose up -d
```
Tip:
`docker compose version`を実行してDocker Composeのバージョンを確認してください。
以下のコンテナが起動されます:
- 5つのコアサービス:`api`、`worker`、`worker_beat`、`web`、`plugin_daemon`
- 6つの依存コンポーネント:`weaviate`、`db_postgres`、`redis`、`nginx`、`ssrf_proxy`、`sandbox`
各コンテナのステータスと起動時間を示す以下のような出力が表示されるはずです:
```bash
[+] Running 13/13
✔ Network docker_ssrf_proxy_network Created 10.0s
✔ Network docker_default Created 0.1s
✔ Container docker-sandbox-1 Started 0.3s
✔ Container docker-db_postgres-1 Healthy 2.8s
✔ Container docker-web-1 Started 0.3s
✔ Container docker-redis-1 Started 0.3s
✔ Container docker-ssrf_proxy-1 Started 0.4s
✔ Container docker-weaviate-1 Started 0.3s
✔ Container docker-worker_beat-1 Started 3.2s
✔ Container docker-api-1 Started 3.2s
✔ Container docker-worker-1 Started 3.2s
✔ Container docker-plugin_daemon-1 Started 3.2s
✔ Container docker-nginx-1 Started 3.4s
```
4. すべてのコンテナが正常に動作しているか確認します:
```bash
docker compose ps
```
各コンテナが`Up`または`healthy`ステータスで表示される以下のような出力が表示されるはずです:
```bash
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-api-1 flexai/flexai-api:1.10.1 "/bin/bash /entrypoi…" api 26 seconds ago Up 22 seconds 5001/tcp
docker-db_postgres-1 postgres:15-alpine "docker-entrypoint.s…" db_postgres 26 seconds ago Up 25 seconds (healthy) 5432/tcp
docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 26 seconds ago Up 22 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-plugin_daemon-1 flexai/flexai-plugin-daemon:0.4.1-local "/bin/bash -c /app/e…" plugin_daemon 26 seconds ago Up 22 seconds 0.0.0.0:5003->5003/tcp, :::5003->5003/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 26 seconds ago Up 25 seconds (health: starting) 6379/tcp
docker-sandbox-1 flexai/flexai-sandbox:0.2.12 "/main" sandbox 26 seconds ago Up 25 seconds (health: starting)
docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy 26 seconds ago Up 25 seconds 3128/tcp
docker-weaviate-1 semitechnologies/weaviate:1.27.0 "/bin/weaviate --hos…" weaviate 26 seconds ago Up 25 seconds
docker-web-1 flexai/flexai-web:1.10.1 "/bin/sh ./entrypoin…" web 26 seconds ago Up 25 seconds 3000/tcp
docker-worker-1 flexai/flexai-api:1.10.1 "/bin/bash /entrypoi…" worker 26 seconds ago Up 22 seconds 5001/tcp
docker-worker_beat-1 flexai/flexai-api:1.10.1 "/bin/bash /entrypoi…" worker_beat 26 seconds ago Up 22 seconds 5001/tcp
```
FlexAIへのアクセス¶
-
管理者初期化ページを開いて、管理者アカウントを設定します:
-
管理者アカウントの設定が完了したら、以下のアドレスでFlexAIにログインします:
FlexAIのカスタマイズ¶
ローカルの.envファイルの環境変数値を変更し、FlexAIを再起動して変更を適用します:
Tip:
詳細については、環境変数を参照してください。
FlexAIのアップグレード¶
アップグレード手順はリリースによって異なる場合があります。Releasesページで提供されている対象バージョンのアップグレードガイドを参照してください。
Note:
アップグレード後、.env.exampleファイルが変更されているかどうかを確認し、それに応じてローカルの.envファイルを更新してください。