Skip to content

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へのアクセス

  1. 管理者初期化ページを開いて、管理者アカウントを設定します:

    # ローカル環境
    http://localhost/install
    
    # サーバー環境
    http://your_server_ip/install
    
  2. 管理者アカウントの設定が完了したら、以下のアドレスでFlexAIにログインします:

    # ローカル環境
    http://localhost  
    
    # サーバー環境
    http://your_server_ip
    

FlexAIのカスタマイズ

ローカルの.envファイルの環境変数値を変更し、FlexAIを再起動して変更を適用します:

docker compose down
docker compose up -d

Tip:

詳細については、環境変数を参照してください。

FlexAIのアップグレード

アップグレード手順はリリースによって異なる場合があります。Releasesページで提供されている対象バージョンのアップグレードガイドを参照してください。

Note:

アップグレード後、.env.exampleファイルが変更されているかどうかを確認し、それに応じてローカルの.envファイルを更新してください。