Skip to content Skip to footer

Czym jest Supabase w local-ai-packaged i do czego służy

Wprowadzenie

Hej! Uruchamiasz projekt local-ai-packaged na Ubuntu Desktop (np. na laptopie z AMD Ryzen 9 5900HS i NVIDIA RTX 3060, serwer 192.168.76.171) i zauważyłeś w wyniku polecenia docker ps kontener localai-supabase-1, śmigający na portach 127.0.0.1:5432 i 127.0.0.1:8000? Zastanawiasz się, czym jest Supabase i jak wspiera Twoje środowisko AI? Ten idiotoodporny poradnik wyjaśni, czym jest Supabase, do czego służy w local-ai-packaged i jak współpracuje z narzędziami typu Flowise, Ollama czy Open WebUI. Artykuł jest po polsku, z gotowymi komendami i zrzutami ekranu, idealny dla czytelników agencja-ai.com!

Czym jest Supabase?

Supabase to open-source’owa platforma Backend as a Service (BaaS), która działa jak Firebase, ale opiera się na potężnej bazie PostgreSQL. To taki szwajcarski scyzoryk dla programistów – daje gotowy backend z bazą danych, uwierzytelnianiem, API, przechowywaniem plików i funkcjami w czasie rzeczywistym, wszystko w jednym Supabase Docs. Możesz hostować go lokalnie (jak w local-ai-packaged) lub w chmurze, a wszystko jest super elastyczne i przyjazne dla aplikacji AI Supabase GitHub.

W projekcie local-ai-packaged, Supabase działa jako kontener Docker (localai-supabase-1) na portach 127.0.0.1:5432 (PostgreSQL) i 127.0.0.1:8000 (API RESTful via PostgREST), zapewniając solidny backend dla Twoich aplikacji AI.

Kluczowe cechy Supabase:

  • PostgreSQL: Relacyjna baza danych z pełnym wsparciem dla SQL, transakcji i indeksów.
  • Uwierzytelnianie: Logowanie przez e-mail, OAuth (np. Google, GitHub) i tokeny JWT.
  • Automatyczne API: REST i GraphQL generowane na podstawie schematu bazy.
  • Przechowywanie plików: Magazyn w stylu S3, zintegrowany z MinIO w projekcie.
  • Realtime: Synchronizacja danych w czasie rzeczywistym przez WebSockets.
  • Wektory dla AI: Obsługa osadzeń (embeddings) dla wyszukiwań semantycznych i RAG.

Do czego służy Supabase w local-ai-packaged?

W local-ai-packaged Supabase to serce backendu dla aplikacji AI, takich jak Flowise, Ollama czy Open WebUI. Działa jak centralny magazyn danych i centrum zarządzania, wspierając różne aspekty Twojego środowiska AI. Oto, co robi:

  • Przechowywanie danych: Zapisuje wyniki inferencji modeli AI (np. z Ollama) czy dane przepływów pracy Flowise.
  • Zarządzanie użytkownikami: Obsługuje logowanie i uprawnienia, np. dla Open WebUI, z tokenami JWT.
  • API dla aplikacji: Automatyczne API REST i GraphQL ułatwiają integrację z frontendem lub narzędziami AI.
  • Pliki i modele: Przechowuje pliki, np. modele AI lub multimedia, w połączeniu z MinIO.
  • Realtime: Umożliwia natychmiastowe aktualizacje, np. nowe dane w Flowise są od razu widoczne.
  • AI i wektory: Obsługuje osadzenia wektorowe, kluczowe dla aplikacji RAG czy wyszukiwań semantycznych.

Zrzut ekranu: Panel Supabase Studio otwarty w przeglądarce na http://127.0.0.1:8000, pokazujący tabelę z danymi użytkowników lub wynikami AI.

Jak Supabase działa w local-ai-packaged?

Supabase w local-ai-packaged jest skonfigurowany w pliku docker-compose.yml i uruchamiany za pomocą skryptu start_services.py. Oto przykładowa konfiguracja:

services:
  supabase:
    image: supabase/postgres:latest
    ports:
      - "127.0.0.1:5432:5432"
      - "127.0.0.1:8000:8000"
    environment:
      - POSTGRES_PASSWORD=your_secure_password
      - JWT_SECRET=your_jwt_secret
      - ANON_KEY=your_anon_key
      - SERVICE_ROLE_KEY=your_service_role_key
    volumes:
      - supabase-data:/var/lib/postgresql/data
    depends_on:
      - kong
volumes:
  supabase-data:

Wyjaśnienie:

  • ports: Mapuje porty hosta 127.0.0.1:5432 (PostgreSQL) i 127.0.0.1:8000 (API PostgREST).
  • environment: Ustawia hasło bazy, klucz JWT i klucze API (anonimowy i service role).
  • volumes: Zapisuje dane w wolumenie supabase-data dla trwałości.
  • depends_on: Integruje się z Kongiem dla zarządzania API.

Zrzut ekranu: Edytor kodu z otwartym plikiem docker-compose.yml, pokazującym konfigurację Supabase.

Kroki do przetestowania Supabase

  1. Uruchom projekt z profilem GPU:
  2. cd ~/local-ai-packaged
    python3 start_services.py --profile gpu-nvidia --environment public
    
  3. Sprawdź dostępność Supabase:
  4. curl http://127.0.0.1:8000/rest/v1/
    

    Otwórz przeglądarkę i wejdź na http://127.0.0.1:8000. Powinieneś zobaczyć panel Supabase Studio lub odpowiedź API.

  5. Przetestuj bazę PostgreSQL:
  6. docker exec -it localai-supabase-1 psql -U postgres -d postgres
    CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);
    INSERT INTO users (name) VALUES ('Jan'), ('Anna');
    SELECT * FROM users;
    
  7. Przetestuj API przez Konga (jeśli skonfigurowano trasę):
  8. curl -H "apikey: your_anon_key" http://192.168.76.171:8000/supabase/rest/v1/users
    

    Zrzut ekranu: Terminal z wynikiem zapytania SELECT * FROM users w psql.

Dlaczego Supabase jest ważny w local-ai-packaged?

Supabase to kluczowy element local-ai-packaged, ponieważ:

  • Prosty backend: Daje gotowe rozwiązania, oszczędzając czas na konfigurację infrastruktury.
  • PostgreSQL: Oferuje potężną, relacyjną bazę danych dla złożonych aplikacji AI.
  • Integracje: Współpracuje z Flowise (przepływy pracy), Ollama (modele AI) i MinIO (pliki).
  • Bezpieczeństwo: Row Level Security (RLS) zapewnia granularną kontrolę dostępu.
  • Skalowalność: Działa na Twoim serwerze 192.168.76.171 z GPU NVIDIA RTX 3060, gotowy na duże obciążenia.

Uwaga: Masz problem z GPU? Sprawdź nasz poradnik o sterownikach NVIDIA dla Dockera.

Najlepsze praktyki

  • Bezpieczeństwo: Skonfiguruj Konga z wtyczką key-auth:
  • # Edytuj kong.yaml
    services:
      - name: supabase
        url: http://supabase:8000
        routes:
          - name: supabase-route
            paths:
              - /supabase
    plugins:
      - name: key-auth
        config:
          key_names:
            - apikey
    
  • Włącz RLS: Zabezpiecz tabele z Row Level Security:
  • docker exec -it localai-supabase-1 psql -U postgres -d postgres
    ALTER TABLE users ENABLE ROW LEVEL SECURITY;
    CREATE POLICY users_policy ON users FOR ALL TO public USING (true);
    
  • Monitorowanie: Sprawdzaj logi:
  • docker logs localai-supabase-1
    
  • Backup danych: Regularnie archiwizuj wolumen supabase-data:
  • cp -r /var/lib/docker/volumes/supabase-data /var/lib/docker/volumes/supabase-data-backup
    
  • Firewall: Otwórz tylko potrzebne porty:
  • sudo ufw allow 5432
    sudo ufw allow 8000
    

Rozwiązywanie problemów

  • Supabase niedostępny: Sprawdź porty 5432 i 8000:
  • sudo netstat -tuln | grep -E '5432|8000'
    
  • Błąd API: Upewnij się, że używasz poprawnych kluczy (ANON_KEY, SERVICE_ROLE_KEY) z docker-compose.yml.
  • Problemy z siecią: Sprawdź sieć Docker:
  • docker network inspect localai
    

    Zobacz nasz poradnik o widoczności usług.

  • Problemy z GPU: Sprawdź sterowniki NVIDIA:
  • docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi
    

    Zobacz nasz poradnik o NVIDIA dla Dockera.

  • Kontakt: Napisz na agencja-ai.com/kontakt.

Zwiększanie sprzedaży instrukcji

  • Polski język: Proste instrukcje po polsku przyciągają czytelników.
  • Demo: Pokaż Supabase Studio na http://127.0.0.1:8000 lub przez Konga na https://supabase.agencja-ai.com.
  • PDF: Udostępnij ten artykuł jako PDF na agencja-ai.com.

Podsumowanie

Supabase w local-ai-packaged to potężny backend oparty na PostgreSQL, działający na portach 127.0.0.1:5432 i 127.0.0.1:8000, wspierający aplikacje AI na serwerze 192.168.76.171 z GPU NVIDIA RTX 3060. Oferuje bazę danych, API, uwierzytelnianie, przechowywanie plików i funkcje real-time, idealnie współpracując z Flowise, Ollama czy MinIO. Ten poradnik zwiększy atrakcyjność Twoich instrukcji na agencja-ai.com. Chcesz więcej, np. o konfiguracji wektorów w Supabase lub integracji z Open WebUI? Napisz do nas! 😄

Źródła: Supabase, local-ai-packaged, Docker, Supabase Docs, Supabase GitHub

Leave a comment

0.0/5