> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-add-new-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker ComposeでDifyをデプロイする

<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/self-host/quick-start/docker-compose)を参照してください。</Note>

<Tip>
  一般的なデプロイに関する質問については、[FAQ](/ja/self-host/quick-start/faqs)を参照してください。
</Tip>

## デプロイ前の準備

お使いのマシンが以下の最小システム要件を満たしていることを確認してください。

### ハードウェア

* CPU >= 2コア
* RAM >= 4 GiB

### ソフトウェア

| オペレーティングシステム     | 必要なソフトウェア                                     | 備考                                                                                                                                                                                                          |
| :--------------- | :-------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| macOS 10.14以降    | Docker Desktop                                | Docker仮想マシンを最低2つの仮想CPUと8 GiBのメモリで設定してください。<br /><br />インストール手順については、[Mac用Docker Desktopのインストール](https://docs.docker.com/desktop/mac/install/)を参照してください。                                                     |
| Linuxディストリビューション | Docker 19.03+<br /><br />Docker Compose 1.28+ | インストール手順については、[Docker Engineのインストール](https://docs.docker.com/engine/install/)および[Docker Composeのインストール](https://docs.docker.com/compose/install/)を参照してください。                                                 |
| WSL 2が有効なWindows | Docker Desktop                                | Linuxコンテナにバインドされるソースコードやデータは、Windowsファイルシステムではなく、Linuxファイルシステムに保存してください。<br /><br />インストール手順については、[Windows用Docker Desktopのインストール](https://docs.docker.com/desktop/windows/install/#wsl-2-backend)を参照してください。 |

## Difyのデプロイと起動

<Steps>
  <Step title="Difyをクローン">
    Difyのソースコードをローカルマシンにクローンします。

    ```bash theme={null}
    git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
    ```
  </Step>

  <Step title="Difyを起動">
    1. Difyソースコード内の`docker`ディレクトリに移動します：

       ```bash theme={null}
       cd dify/docker
       ```

    2. 環境設定ファイルの例をコピーします：

       ```bash theme={null}
       cp .env.example .env  
       ```

           <Note>
             フロントエンドとバックエンドが異なるサブドメインで動作する場合は、`.env`ファイルで`COOKIE_DOMAIN`をサイトのトップレベルドメイン（例：`example.com`）に設定し、`NEXT_PUBLIC_COOKIE_DOMAIN`を`1`に設定してください。

             認証Cookieを共有するためには、フロントエンドとバックエンドが同じトップレベルドメイン下にある必要があります。
           </Note>

    3. お使いのDocker Composeバージョンに合わせたコマンドでコンテナを起動します：

           <CodeGroup>
             ```bash Docker Compose V2 theme={null}
             docker compose up -d
             ```

             ```bash Docker Compose V1 theme={null}
             docker-compose up -d
             ```
           </CodeGroup>

           <Tip>
             `docker compose version`を実行してDocker Composeのバージョンを確認してください。
           </Tip>

       以下のコンテナが起動されます：

       * 5つのコアサービス：`api`、`worker`、`worker_beat`、`web`、`plugin_daemon`
       * 6つの依存コンポーネント：`weaviate`、`db_postgres`、`redis`、`nginx`、`ssrf_proxy`、`sandbox`

       各コンテナのステータスと起動時間を示す以下のような出力が表示されるはずです：

       ```bash theme={null}
       [+] 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 theme={null}
       docker compose ps
       ```

       各コンテナが`Up`または`healthy`ステータスで表示される以下のような出力が表示されるはずです：

       ```bash theme={null}
       NAME                     IMAGE                                       COMMAND                  SERVICE         CREATED          STATUS                             PORTS
       docker-api-1             langgenius/dify-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   langgenius/dify-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         langgenius/dify-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             langgenius/dify-web:1.10.1                  "/bin/sh ./entrypoin…"   web             26 seconds ago   Up 25 seconds                      3000/tcp
       docker-worker-1          langgenius/dify-api:1.10.1                  "/bin/bash /entrypoi…"   worker          26 seconds ago   Up 22 seconds                      5001/tcp
       docker-worker_beat-1     langgenius/dify-api:1.10.1                  "/bin/bash /entrypoi…"   worker_beat     26 seconds ago   Up 22 seconds                      5001/tcp
       ```
  </Step>
</Steps>

## Difyへのアクセス

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

   ```bash theme={null}
   # ローカル環境
   http://localhost/install

   # サーバー環境
   http://your_server_ip/install
   ```

2. 管理者アカウントの設定が完了したら、以下のアドレスでDifyにログインします：

   ```bash theme={null}
   # ローカル環境
   http://localhost  

   # サーバー環境
   http://your_server_ip
   ```

## Difyのカスタマイズ

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

```
docker compose down
docker compose up -d
```

<Tip>
  詳細については、[環境変数](/ja/self-host/configuration/environments)を参照してください。
</Tip>

## Difyのアップグレード

アップグレード手順はリリースによって異なる場合があります。[Releases](https://github.com/langgenius/dify/releases)ページで提供されている対象バージョンのアップグレードガイドを参照してください。

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