Difyをセルフホスティングする方法|Ubuntu + Dockerで構築する手順を解説

目次

はじめに

この記事では、VPS上のUbuntu 24.04 LTSに、オープンソースのChatGPT管理ツール「Dify」をDockerを用いてセルフホスティングする手順を紹介します。

技術・環境

本手順では、以下の環境で構築を行います。

  • サーバー: Ubuntu 24.04 LTS
  • Docker
  • Dify

手順

以下に、DifyをUbuntu上で動かすための手順を順を追って説明します。

STEP
サーバーにDockerとDockerComposeをインストール
STEP
Dockerの公式GPGキーを追加

Docker公式のリポジトリを信頼するための鍵を追加します。

sudo apt-get update

sudo apt-get install ca-certificates curl

# GPGキーを取得
sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc
STEP
Aptソースにリポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
STEP
Docker関連のパッケージをインストール
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
STEP
Hello Worldコンテナを実行してDockerが正しく動作していることを確認
sudo docker run hello-world
STEP
Difyの設定と起動
STEP
Difyのリポジトリをクローン
git clone https://github.com/langgenius/dify.git
STEP
環境変数の設定
cd dify/docker

cp .env.example .env
STEP
Docker ComposeでDifyの起動
docker compose up -d
STEP
ブラウザから初期設定アクセス
http://<サーバーのIPアドレス>/install
STEP
Difyの初期インストール画面にアクセスできれば、ここまでの構築は成功です。
Difyの初期インストール画面

追記

画面に「Loading…」のままコードブロックが読み込まれない、または管理画面にアクセスできないといった場合には、以下の手順で最新版へ更新してください。

# ディレクトリ移動
cd dify/docker

# コンテナ停止
docker compose down

# 最新コードを取得
git pull origin main

# 最新のDockerイメージを取得
docker compose pull

# .envを最新に
cp .env.example .env

# コンテナ起動
docker compose up -d

まとめ

以上、DifyをUbuntu上にセルフホスティングする手順でした。

最後までご覧いただきありがとうございました。この記事がDifyのセルフホスティング導入の参考になれば幸いです。

お問い合わせ

このフォームに入力するには、ブラウザーで JavaScript を有効にしてください。
メールアドレス
ご相談内容
同意事項
プライバシーポリシー

株式会社PRODUCEWAVES

最終更新日:2023年10月26日


株式会社PRODUCEWAVES(以下「当社」といいます)は、お客様の個人情報を尊重し、適切に取り扱うことを重要な責務と考えております。本プライバシーポリシーでは、当社のウェブサイト及びサービスにおける個人情報の収集・利用・保護に関する方針を定めております。


1. 収集する個人情報

当社は、以下の場合にお客様の個人情報を収集することがあります。


お問い合わせをいただいた場合

イベントにご登録いただいた場合

当社サービスをご利用いただく場合

収集する個人情報には、氏名、メールアドレス、電話番号などが含まれますが、必要な範囲内に限定して収集いたします。


2. 個人情報の利用目的

当社は、収集した個人情報を以下の目的で利用いたします。


お客様からのお問い合わせへの対応

当社サービスの提供及び改善

ウェブサイトの品質向上

お客様に最適な情報提供及び体験の実現

3. 個人情報の第三者提供

当社は、以下のいずれかに該当する場合を除き、お客様の個人情報を第三者に提供いたしません。


お客様ご本人の同意がある場合

法令に基づく場合

お客様との契約の履行のために必要な範囲で委託先に提供する場合

当社の合併、事業譲渡等の事由による事業承継に伴う場合

4. 個人情報の安全管理

当社は、個人情報の漏洩、滅失、毀損等を防止するため、適切なセキュリティ対策を講じ、個人情報の安全管理に努めます。また、個人情報を取り扱う従業者に対し、適切な監督を行います。


5. お客様の権利

お客様は、当社が保有するご自身の個人情報について、開示、訂正、利用停止、削除等を請求する権利を有しています。これらの権利を行使されたい場合は、下記のお問い合わせ先までご連絡ください。


6. 未成年者の個人情報

当社のサービスは18歳未満の方を対象としておりません。当社は、18歳未満の方の個人情報を意図的に収集することはありません。18歳未満の方が当社に個人情報を提供された場合、保護者の同意を得たうえでご連絡いただきますようお願いいたします。


7. プライバシーポリシーの変更

当社は、必要に応じて本プライバシーポリシーを変更することがあります。変更した場合は、当社ウェブサイト上に変更後のプライバシーポリシーを掲載し、効力発生日を更新いたします。


8. お問い合わせ

本プライバシーポリシーに関するご質問やお問い合わせは、下記までご連絡ください。


株式会社PRODUCEWAVES

メールアドレス:info@producewaves.com


目次