SSD Nodes Learn
Przewodniki Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-07-24

Jak zainstalować Dify na VPS przez Docker

Instalacja Dify wymaga 4 GB RAM i konfiguracji pliku .env. Należy utworzyć konto admin w ścieżce /install przed uruchomieniem kontenerów Docker Compose.

Czym jest Dify i na co decydujesz się w celu samodzielnego hostowania

Dify to platforma typu self-hostable służąca do budowania aplikacji w oparciu o duże modele językowe. Zapewnia interfejs webowy do projektowania aplikacji czatowych, agentów oraz potoków retrieval, API do wywoływania ich z własnego kodu oraz jedno miejsce do zarządzania promptami, zbiorami danych i kluczami modeli. Jest to narzędzie przeznaczone dla małych zespołów, aby umożliwić budowanie aplikacji na jednej wspólnej, prywatnej bazie, zamiast rozpraszania kluczy API w skryptach.

Samodzielne uruchomienie wymaga obsługi wielu komponentów. Dify jest dostarczane jako zestaw kontenerów Docker: serwer API, worker działający w tle, frontend webowy, baza danych Postgres, pamięć cache Redis oraz baza danych wektorowych, połączone za pomocą Docker Compose. Jest to rozwiązanie bardziej złożone niż pojedynczy plik binarny, jednak Compose zarządza połączeniami, a VPS z wolnym zapasem kilku gigabajtów pamięci RAM zapewnia stabilne działanie.

Ponieważ Dify przechowuje klucze API do modeli oraz często prywatne dokumenty wgrane do celów retrieval, należy traktować serwer, na którym jest uruchomiony, jako obiekt wrażliwy od pierwszej minuty. Niniejszy przewodnik służy do instalacji oraz utwardzenia (hardening) systemu w sposób właściwy dla usług przechowujących dane poufne.

Prerequisites

Wymagany jest serwer VPS z systemem Ubuntu 24.04, zainstalowanymi Docker oraz wtyczką Docker Compose, a także użytkownik z uprawnieniami sudo lub należący do grupy docker. Jeśli Docker jest nowym rozwiązaniem, podstawy Docker Compose na VPS opisują instalację oraz kluczowe komendy wymagane w tym przewodniku. Zaleca się posiadanie domeny skierowanej na serwer, ponieważ wymagane jest użycie TLS zamiast surowego adresu IP.

Step 1: Get Dify and its Compose files

Konfiguracja Docker w Dify znajduje się w głównym repozytorium. Należy je sklonować i przejść do katalogu docker:

git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env

Plik .env zawiera pełną konfigurację. Należy zapoznać się z nim przed rozpoczęciem prac. Kluczowe są wartości ustawiające hasła i dane poufne: SECRET_KEY, hasło do Postgres oraz hasło do Redis. Przykładowy plik zawiera wartości zastępcze; pozostawienie ich w domyślnej formie jest najczęstszą przyczyną przejęcia zainstalowanego systemu Dify. Należy wygenerować rzeczywisty klucz tajny:

openssl rand -base64 42

Należy wkleić go do SECRET_KEY oraz ustawić silne, unikalne wartości dla każdego pola hasła w pliku.

Step 2: Start it

Należy uruchomić stos:

docker compose up -d

Pierwsze uruchomienie wymaga pobrania obrazów i zainicjowania bazy danych, co może potrwać minutę. Należy sprawdzić, czy kontenery działają poprawnie:

docker compose ps

Każda usługa powinna być dostępna pod adresem running. Dify udostępnia interfejs webowy poprzez kontener nginx na porcie 80 domyślnie. Podczas pierwszej wizyty pod adresem http://YOUR_SERVER/install należy utworzyć konto administratora. Należy to zrobić natychmiast, zanim jakakolwiek inna usługa uzyska dostęp do portu, ponieważ dopóki konto nie istnieje, każda osoba ładująca stronę może je przejąć.

Step 3: Do not expose it raw. Put TLS and a firewall in front

To etap, na którym kończy się większość szybkich instalacji, a zaczyna większość incydentów bezpieczeństwa. Wbudowany serwer nginx w Dify nasłuchuje na porcie 80 bez szyfrowania na każdym interfejsie. Logowanie administratora oraz klucze API modeli nie powinny być przesyłane przez protokół HTTP. Usługi wewnętrzne nie powinny być dostępne z zewnątrz.

Należy zabezpieczyć serwer za pomocą firewalla typu default-deny, który zezwala jedynie na ruch SSH oraz ruch webowy:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Należy pamiętać, że firewall obsługujący wyłącznie IPv4 może pozostawiać te same porty otwarte dla IPv6, co stanowi lukę w zabezpieczeniach IPv6, która dotyka wielu użytkowników self-hostingowych. Należy potwierdzić, że oba stosy są filtrowane.

W celu zapewnienia TLS najskuteczniejszą metodą jest przypisanie portu webowego Dify do interfejsu loopback i uruchomienie reverse proxy z certyfikatem Let's Encrypt. Dzięki temu jedynym elementem dostępnym w publicznym internecie będzie proxy obsługujące HTTPS. Parametr .env w Dify pozwala na zmianę wystawianego portu; należy ustawić go na 127.0.0.1 i skierować proxy na ten port. Zasady utwardzania agentów opisane w bezpieczne uruchamianie agenta AI na VPS mają zastosowanie również tutaj: komponenty powinny działać na loopback, należy wystawiać tylko to, co musi być publiczne, i używać jednego, zabezpieczonego punktu wejścia obsługującego TLS.

Step 4: Keep it patched

Dify rozwija się dynamicznie, a aktualizacje zawierają poprawki bezpieczeństwa. Proces aktualizacji polega na pobraniu nowych danych i restarcie z katalogu docker:

git pull
docker compose pull
docker compose up -d

Przed aktualizacją do nowej wersji głównej należy przeczytać release notes, ponieważ Dify okazjonalnie zmienia schemat .env między wersjami, a brak nowej zmiennej może uniemożliwić uruchomienie kontenera.

Step 5: Back up what you cannot regenerate

Dwie rzeczy na serwerze Dify są nieodwracalne: baza danych Postgres (zawierająca aplikacje, użytkowników i ustawienia) oraz wolumen przechowujący wgrane dokumenty i indeks wektorowy. Oba elementy znajdują się w wolumenach Docker w katalogu docker. Należy tworzyć kopie zapasowe (snapshots) zgodnie z harmonogramem i kopiować je poza serwer. Klucz API modelu można wygenerować ponownie, ale aplikacji budowanej przez tydzień nie da się odtworzyć.

W celu uzyskania informacji o bardziej autonomicznym agencie uruchamianym za pomocą kodu, należy sprawdzić self-hosting Agent Zero. Publikacja building your own AI agent on a VPS opisuje fundamenty niezbędne do działania wszystkich takich systemów.

FAQ

What are the system requirements to self-host Dify?

Dify działa jako stos Docker Compose składający się z około pół tuzina kontenerów. Należy zaplanować VPS z co najmniej 2 GB wolnej pamięci RAM (optymalnie 4 GB), dodatkowo kilka rdzeni CPU oraz wystarczającą ilość miejsca na dysku na wgrane dokumenty i indeks wektorowy. Obciążenie pamięci wynika z bazy danych i magazynu wektorowego, a nie z samego procesu Dify.

Is it safe to expose Dify directly on port 80?

Nie. Wbudowany serwer webowy Dify nasłuchuje przez protokół HTTP, co wystawia na niebezpieczeństwo logowanie administratora oraz klucze API modeli. Należy użyć reverse proxy z certyfikatem Let's Encrypt, przypisać port Dify do interfejsu loopback i pozostawić w internecie jedynie proxy obsługujące HTTPS. Należy to połączyć z firewallem typu default-deny dla IPv4 oraz IPv6.

How do I update a self-hosted Dify?

Z katalogu docker należy uruchomić git pull, a następnie docker compose pull i docker compose up -d w celu pobrania nowych obrazów i restartu. Należy najpierw przeczytać release notes, ponieważ Dify czasami dodaje nowe zmienne .env między wersjami, a brak jednej z nich może uniemożliwić uruchomienie kontenera.

What is the first thing to do after installing Dify?

Należy natychmiast odwiedzić /install i utworzyć konto administratora. Dopóki to konto nie istnieje, każda osoba mająca dostęp do strony może je przejąć. Należy to zrobić w momencie, gdy kontenery będą sprawne, a przed otwarciem firewalla na świat.