Skip to content Skip to footer

Uruchamianie usług local-ai-packaged

start_services.py

Wprowadzenie

Po skonfigurowaniu zmiennych środowiskowych w pliku .env dla projektu local-ai-packaged (https://github.com/coleam00/local-ai-packaged), kolejnym krokiem jest uruchomienie usług AI, takich jak Supabase, n8n, Ollama, Open WebUI i inne, za pomocą skryptu start_services.py. Ten skrypt automatyzuje proces inicjowania wszystkich kontenerów Docker, które tworzą lokalne środowisko AI. Ten artykuł przedstawia idiotoodporną instrukcję uruchomienia usług na Ubuntu Server, zgodnie z wytycznymi projektu i dokumentacją Supabase (https://supabase.com/docs/guides/self-hosting/docker).

Dlaczego uruchamianie usług jako kolejny krok?

Skrypt start_services.py jest kluczowym elementem projektu local-ai-packaged, ponieważ zarządza uruchamianiem wszystkich usług zdefiniowanych w pliku docker-compose.yml. Wykonanie tego kroku pozwala na zainicjowanie pełnego stosu AI, umożliwiając dostęp do narzędzi takich jak Supabase (baza danych), n8n (platforma low-code) czy Ollama (lokalne modele językowe). Poprawna konfiguracja i uruchomienie usług przygotowuje środowisko do dalszej pracy z przepływami AI.

Krok po kroku: Uruchamianie usług za pomocą start_services.py

1. Przejdź do katalogu projektu

Upewnij się, że jesteś w katalogu projektu local-ai-packaged, w którym znajduje się skrypt start_services.py i plik .env.

cd ~/local-ai-packaged

2. Weryfikacja pliku .env

Sprawdź, czy plik .env istnieje i zawiera poprawnie skonfigurowane zmienne środowiskowe (patrz poprzedni artykuł). Możesz wyświetlić jego zawartość, aby upewnić się, że wszystkie klucze są ustawione:

cat .env

Jeśli plik .env jest pusty lub brakuje w nim zmiennych, wróć do poprzedniego kroku i skonfiguruj go zgodnie z instrukcją.

3. Zainstaluj zależności Pythona

Skrypt start_services.py może wymagać dodatkowych bibliotek Pythona. Zainstaluj je, aby zapewnić poprawne działanie skryptu. Najpierw sprawdź, czy masz zainstalowany pip:

pip3 --version

Jeśli pip jest zainstalowany, zainstaluj wymagane pakiety:

pip3 install docker

Uwaga: Jeśli projekt wymaga innych zależności Pythona, upewnij się, że są one zainstalowane. Możesz sprawdzić wymagania w pliku requirements.txt, jeśli istnieje:

pip3 install -r requirements.txt

4. Sprawdzenie dostępności Docker Compose

Upewnij się, że Docker Compose jest zainstalowany, ponieważ jest wymagany do uruchamiania usług zdefiniowanych w pliku docker-compose.yml. Sprawdź wersję:

docker compose version

Jeśli Docker Compose nie jest zainstalowany, zainstaluj go:

sudo apt install -y docker-compose-plugin

5. Uruchomienie skryptu start_services.py

Skrypt start_services.py obsługuje różne profile w zależności od używanego sprzętu. Dla Ubuntu Server na maszynie bez GPU (lub z GPU, jeśli masz odpowiednie sterowniki), użyj odpowiedniego profilu. W tym przykładzie zakładamy, że używasz procesora (CPU) lub nie masz skonfigurowanego GPU:

python3 start_services.py --profile cpu

Opcje profilu:

  • –profile cpu: Dla maszyn bez GPU lub w środowiskach bez akceleracji sprzętowej.

  • –profile gpu-nvidia: Dla maszyn z GPU NVIDIA (wymaga sterowników NVIDIA i CUDA).

  • –profile gpu-amd: Dla maszyn z GPU AMD (tylko na Linuksie).

  • –profile none: Jeśli Ollama jest uruchomiona lokalnie poza Dockerem (np. na Mac).

Opcje środowiska (opcjonalne):

  • –environment private: Domyślne ustawienie, otwiera więcej portów, odpowiednie dla lokalnego środowiska.

  • –environment public: Zamyka wszystkie porty poza 80 i 443, zalecane dla wdrożeń w chmurze.

Przykład dla środowiska publicznego z GPU NVIDIA:

python3 start_services.py --profile gpu-nvidia --environment public

Uwaga dla użytkowników NVIDIA: Jeśli używasz GPU NVIDIA, upewnij się, że masz zainstalowane sterowniki NVIDIA i NVIDIA Container Toolkit. Możesz je zainstalować, wykonując:

sudo apt install -y nvidia-driver-<version> nvidia-container-toolkit

Zastąp <version> odpowiednią wersją sterownika dla twojego GPU.

6. Weryfikacja uruchomionych usług

Po uruchomieniu skryptu sprawdź, czy wszystkie usługi działają poprawnie:

docker compose ps

Powinieneś zobaczyć listę usług (np. supabase, n8n, ollama, open-webui) z statusem running (healthy). Jeśli któraś usługa ma status created lub exited, spróbuj uruchomić ją ręcznie:

docker compose start <service-name>

Na przykład:

docker compose start supabase

7. Dostęp do Supabase Studio

Po uruchomieniu usług możesz uzyskać dostęp do Supabase Studio przez przeglądarkę pod adresem:

http://localhost:8000

Dane logowania:

  • Użytkownik: Wartość ustawiona w DASHBOARD_USERNAME w pliku .env (np. admin).

  • Hasło: Wartość ustawiona w DASHBOARD_PASSWORD w pliku .env.

Uwaga: Jeśli pracujesz na zdalnym serwerze, zastąp localhost adresem IP serwera, np. http://<your-server-ip>:8000.

8. Dostęp do n8n

Sprawdź, czy n8n działa, otwierając w przeglądarce:

http://localhost:5678

Postępuj zgodnie z instrukcjami konfiguracji n8n, które pojawią się w interfejsie. Będziesz musiał skonfigurować lokalne konto użytkownika (nie jest to konto online).

9. Dostęp do Open WebUI

Otwórz Open WebUI w przeglądarce:

http://localhost:3000

Skonfiguruj lokalne konto użytkownika zgodnie z instrukcjami na stronie.

10. Przygotowanie do następnych kroków

Po uruchomieniu usług możesz przejść do konfiguracji przepływów pracy w n8n, ustawienia modeli w Ollama lub integracji z Supabase. Sprawdź logi kontenerów, aby upewnić się, że wszystko działa poprawnie:

docker compose logs

Jeśli Ollama pobiera model (np. Llama3.1), może to zająć trochę czasu. Możesz monitorować postępy, sprawdzając logi:

docker compose logs ollama

Najlepsze praktyki

  • Monitoruj zasoby: Usługi AI, takie jak Ollama, mogą zużywać dużo pamięci i CPU. Użyj narzędzi takich jak htop do monitorowania zasobów.

  • Bezpieczeństwo w środowisku publicznym: Jeśli wdrażasz w chmurze, użyj opcji –environment public i skonfiguruj firewall (np. ufw), aby ograniczyć dostęp do portów 80 i 443.

  • Logi i debugowanie: Regularnie sprawdzaj logi (docker compose logs) w razie problemów z uruchamianiem usług.

  • Zapisuj dane logowania: Zachowaj dane logowania do Supabase Studio i n8n w bezpiecznym miejscu, np. w menedżerze haseł.

Rozwiązywanie problemów

  • Błąd: „ModuleNotFoundError” w start_services.py: Upewnij się, że zainstalowałeś wszystkie wymagane pakiety Pythona (pip3 install docker).

  • Błąd: Usługi nie uruchamiają się: Sprawdź, czy plik .env zawiera wszystkie wymagane zmienne i czy nie ma w nich znaków specjalnych (np. @ w POSTGRES_PASSWORD może powodować problemy). W razie potrzeby usuń folder supabase/docker/volumes/db/data i uruchom ponownie:

rm -rf supabase/docker/volumes/db/data
docker compose up -d
  • Błąd: SearXNG się restartuje: Wykonaj polecenie chmod 755 searxng w katalogu projektu, aby nadać odpowiednie uprawnienia:

chmod 755 searxng
  • Brak dostępu do Supabase Studio: Upewnij się, że port 8000 jest otwarty (sudo ufw allow 8000) i że używasz poprawnych danych logowania z pliku .env.

Podsumowanie

Uruchomienie usług za pomocą skryptu start_services.py inicjuje wszystkie komponenty pakietu local-ai-packaged, takie jak Supabase, n8n i Ollama, umożliwiając rozpoczęcie pracy z lokalnym środowiskiem AI. W następnym artykule skonfigurujemy przepływy pracy w n8n, aby zintegrować je z Supabase i Ollama, tworząc funkcjonalne przepływy AI.

Leave a comment

0.0/5