Skip to content Skip to footer

Sprawdzenie portów usług w local-ai-packaged na Ubuntu Desktop

Wprowadzenie

Cześć! 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 chcesz sprawdzić, czy usługi działają na poprawnych portach oraz czy powtarzające się porty są dobrze skonfigurowane? Na podstawie wyniku polecenia docker ps przeanalizujemy konfigurację portów, wskażemy potencjalne konflikty i zaproponujemy rozwiązania. Ten idiotoodporny poradnik jest po polsku, z gotowymi komendami i opisami zrzutów ekranu, idealny dla klientów agencja-ai.com!

Analiza portów w local-ai-packaged

Wynik polecenia docker ps pokazuje listę uruchomionych kontenerów w projekcie local-ai-packaged, wraz z ich portami. Poniżej przeanalizujemy każdą usługę, jej porty, potencjalne konflikty i poprawność konfiguracji.

Lista usług i portów

Oto przegląd usług z ich mapowaniami portów:

Usługa Kontener Porty hosta Porty kontenera Stan
Langfuse Weblocalai-langfuse-web-1127.0.0.1:30003000/tcpUp
Langfuse Workerlocalai-langfuse-worker-1127.0.0.1:30303030/tcpUp
n8nn8n127.0.0.1:56785678/tcpUp
Open WebUIopen-webui127.0.0.1:80808080/tcpUp (healthy)
MinIOlocalai-minio-1127.0.0.1:9010, 127.0.0.1:90119000/tcp, 9001/tcpUp (healthy)
Postgres (localai)localai-postgres-1127.0.0.1:54335432/tcpUp (healthy)
Qdrantqdrant127.0.0.1:6333-63346333-6334/tcpUp
Neo4jlocalai-neo4j-1Brak mapowaniaBrakRestarting
Flowiseflowise127.0.0.1:30013001/tcpUp
ClickHouselocalai-clickhouse-1127.0.0.1:8123, 127.0.0.1:9000, 127.0.0.1:90098123/tcp, 9000/tcp, 9009/tcpUp (healthy)
SearXNGsearxng127.0.0.1:80818080/tcpUp
Ollamaollama127.0.0.1:1143411434/tcpUp
Valkey (Redis)redis127.0.0.1:63796379/tcpUp (healthy)
Caddycaddy0.0.0.0:80, 0.0.0.0:443, [::]:80, [::]:443, 443/udp, 2019/tcp80/tcp, 443/tcpUp
Supabase Storagesupabase-storage5000/tcp5000/tcpUp (healthy)
Supabase Metasupabase-meta8080/tcp8080/tcpUp (healthy)
Supabase Authsupabase-authBrak mapowaniaBrakUp (healthy)
Supabase Studiosupabase-studio3000/tcp3000/tcpUp (healthy)
Supabase Poolersupabase-pooler0.0.0.0:5432, [::]:5432, 0.0.0.0:6543, [::]:65435432/tcp, 6543/tcpUp (healthy)
Supabase Realtimerealtime-dev.supabase-realtimeBrak mapowaniaBrakUnhealthy
Supabase RESTsupabase-rest3000/tcp3000/tcpUp
Supabase Kongsupabase-kong0.0.0.0:8000, [::]:8000, 0.0.0.0:8443, [::]:8443, 8001/tcp, 8444/tcp8000/tcp, 8443/tcpUp (healthy)
Supabase Edge Functionssupabase-edge-functionsBrak mapowaniaBrakUp
Supabase Analyticssupabase-analytics0.0.0.0:4000, [::]:40004000/tcpUp (healthy)
Supabase Postgressupabase-db5432/tcp5432/tcpUp (healthy)
Supabase Imgproxysupabase-imgproxy8080/tcp8080/tcpUp (healthy)
Vectortimberio/vectorBrak mapowaniaBrakUp (healthy)

Analiza poprawności portów

Sprawdzimy, czy porty są poprawnie przypisane i czy występują konflikty.

1. Poprawnie skonfigurowane porty

Większość usług działa na unikalnych portach z mapowaniem na 127.0.0.1 (lokalny dostęp) lub 0.0.0.0 (dostęp zewnętrzny). Oto poprawnie skonfigurowane porty:

  • Langfuse Web (127.0.0.1:3000->3000/tcp): Standardowy port dla interfejsu Langfuse, dostępny lokalnie.
  • Langfuse Worker (127.0.0.1:3030->3030/tcp): Dedykowany port dla workera, bez konfliktów.
  • n8n (127.0.0.1:5678->5678/tcp): Standardowy port dla n8n, lokalny dostęp.
  • Open WebUI (127.0.0.1:8080->8080/tcp): Standardowy port, bez konfliktów.
  • MinIO (127.0.0.1:9010->9000/tcp, 127.0.0.1:9011->9001/tcp): Dedykowane porty, unikają konfliktów z innymi usługami.
  • Postgres (localai) (127.0.0.1:5433->5432/tcp): Mapowanie na niestandardowy port hosta (5433) zapobiega konfliktom.
  • Qdrant (127.0.0.1:6333-6334->6333-6334/tcp): Standardowe porty dla Qdrant, bez konfliktów.
  • Flowise (127.0.0.1:3001->3001/tcp): Dedykowany port dla Flowise, poprawny.
  • SearXNG (127.0.0.1:8081->8080/tcp): Mapowanie na 8081 unika konfliktów z innymi usługami na 8080.
  • Ollama (127.0.0.1:11434->11434/tcp): Standardowy port dla Ollama, bez konfliktów.
  • Valkey (Redis) (127.0.0.1:6379->6379/tcp): Standardowy port Redis, poprawny.
  • Caddy (0.0.0.0:80, 0.0.0.0:443): Standardowe porty HTTP/HTTPS, dostępne zewnętrznie, poprawne dla reverse proxy.
  • Supabase Pooler (0.0.0.0:5432, 0.0.0.0:6543): Dedykowane porty dla puli połączeń Supabase, dostępne zewnętrznie.
  • Supabase Analytics (0.0.0.0:4000->4000/tcp): Dedykowany port, poprawny.
  • Supabase Kong (0.0.0.0:8000, 0.0.0.0:8443): Standardowe porty dla Konga, dostępne zewnętrznie, poprawne dla API Gateway.

2. Powtarzające się porty i potencjalne konflikty

Kilka usług używa tych samych portów na poziomie kontenera lub hosta, co może powodować konflikty:

  • Port 3000 (kontener):
    • Langfuse Web (127.0.0.1:3000->3000/tcp).
    • Supabase Studio (3000/tcp).
    • Supabase REST (3000/tcp).
    • Problem: Supabase Studio i Supabase REST używają portu 3000/tcp w kontenerach, ale brak mapowania na hosta (np. 127.0.0.1:3000) może powodować konflikty w sieci Docker.
    • Rozwiązanie: Skonfiguruj mapowanie portów dla Supabase Studio i REST, np.:
      # Edytuj docker-compose.yml
      services:
        supabase-studio:
          ports:
            - "127.0.0.1:3002:3000"
        supabase-rest:
          ports:
            - "127.0.0.1:3003:3000"
      
    • Po zmianie uruchom ponownie kontenery:
      cd ~/local-ai-packaged
      docker compose down
      python3 start_services.py --profile gpu-nvidia --environment public
      
  • Port 8080 (kontener):
    • Open WebUI (127.0.0.1:8080->8080/tcp).
    • Supabase Meta (8080/tcp).
    • Supabase Imgproxy (8080/tcp).
    • SearXNG (127.0.0.1:8081->8080/tcp).
    • Problem: Supabase Meta i Imgproxy używają 8080/tcp w kontenerach bez mapowania na hosta, co może powodować konflikty w sieci Docker.
    • Rozwiązanie: Dodaj unikalne mapowania portów w docker-compose.yml:
      services:
        supabase-meta:
          ports:
            - "127.0.0.1:8082:8080"
        supabase-imgproxy:
          ports:
            - "127.0.0.1:8083:8080"
      
    • Uruchom ponownie:
      docker compose down
      python3 start_services.py --profile gpu-nvidia --environment public
      
  • Port 5432 (kontener):
    • Postgres (localai) (127.0.0.1:5433->5432/tcp).
    • Supabase Postgres (5432/tcp).
    • Supabase Pooler (0.0.0.0:5432->5432/tcp).
    • Problem: Supabase Postgres i Pooler używają 5432/tcp w kontenerach. Supabase Pooler mapuje 0.0.0.0:5432, co może kolidować z innymi usługami Postgres na hoście.
    • Rozwiązanie: Dodaj mapowanie dla Supabase Postgres, np.:
      services:
        supabase-db:
          ports:
            - "127.0.0.1:5434:5432"
      
    • Uruchom ponownie:
      docker compose down
      python3 start_services.py --profile gpu-nvidia --environment public
      
  • Port 9000 (host):
    • MinIO (127.0.0.1:9010->9000/tcp).
    • ClickHouse (127.0.0.1:9000->9000/tcp).
    • Problem: ClickHouse używa portu hosta 127.0.0.1:9000, co powoduje konflikt z potencjalnymi innymi usługami na hoście.
    • Rozwiązanie: Zmień port hosta dla ClickHouse w docker-compose.yml:
      services:
        localai-clickhouse-1:
          ports:
            - "127.0.0.1:9002:9000"
      
    • Uruchom ponownie:
      docker compose down
      python3 start_services.py --profile gpu-nvidia --environment public
      

Zrzut ekranu: Edytor tekstu z otwartym plikiem docker-compose.yml pokazującym zmienione mapowania portów.

3. Usługi z problemami

  • Neo4j (localai-neo4j-1, Restarting):
    • Problem: Kontener Neo4j restartuje się, prawdopodobnie z powodu braku mapowania portów (domyślnie 7474, 7687).
    • Rozwiązanie: Dodaj mapowanie portów w docker-compose.yml:
      services:
        localai-neo4j-1:
          ports:
            - "127.0.0.1:7474:7474"
            - "127.0.0.1:7687:7687"
      
    • Sprawdź logi:
      docker logs localai-neo4j-1
      
    • Uruchom ponownie:
      docker compose down
      python3 start_services.py --profile gpu-nvidia --environment public
      
  • Supabase Realtime (realtime-dev.supabase-realtime, Unhealthy):
    • Problem: Kontener jest oznaczony jako niezdrowy, co może wynikać z braku mapowania portów lub błędnej konfiguracji.
    • Rozwiązanie: Sprawdź domyślne porty Supabase Realtime (4000) i dodaj mapowanie:
      services:
        supabase-realtime:
          ports:
            - "127.0.0.1:4001:4000"
      
    • Sprawdź logi:
      docker logs realtime-dev.supabase-realtime
      
    • Uruchom ponownie:
      docker compose down
      python3 start_services.py --profile gpu-nvidia --environment public
      

Zrzut ekranu: Terminal z wynikiem docker logs localai-neo4j-1 pokazującym szczegóły błędu.

4. Testowanie dostępności usług

Po wprowadzeniu poprawek przetestuj dostępność usług:

  1. Sprawdź Flowise:
  2. curl -H "apikey: my-key" http://192.168.76.171:8000/flowise
  3. Sprawdź Supabase Studio:
  4. curl http://192.168.76.171:8000/studio
  5. Sprawdź Neo4j (po dodaniu portów):
  6. curl http://127.0.0.1:7474

    Zrzut ekranu: Przeglądarka z otwartą stroną Flowise na https://flowise.agencja-ai.com.

Najlepsze praktyki

  • Unikalne porty: Używaj unikalnych portów hosta dla każdej usługi, np. 127.0.0.1:3002, 127.0.0.1:3003.
  • Firewall: Otwórz tylko potrzebne porty:
  • sudo ufw allow 80
    sudo ufw allow 443
    sudo ufw allow 8000
    sudo ufw allow 8443
    sudo ufw allow 3001
    sudo ufw allow 4000
  • Monitorowanie: Regularnie sprawdzaj stan kontenerów:
  • docker ps
  • Kopia zapasowa: Zachowaj kopię docker-compose.yml:
  • cp ~/local-ai-packaged/docker-compose.yml ~/local-ai-packaged/docker-compose.yml.backup

Rozwiązywanie problemów

  • Konflikt portów: Sprawdź zajęte porty na hoście:
  • sudo netstat -tuln | grep LISTEN
  • Usługa nie działa: Sprawdź logi konkretnego kontenera:
  • docker logs 
    
  • Problemy z GPU: Upewnij się, że sterowniki NVIDIA są poprawnie skonfigurowane:
  • docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu22.04 nvidia-smi

    Zobacz nasz poradnik o NVIDIA dla Dockera.

  • Sieć: Sprawdź konfigurację sieci bridge:
  • ip addr show br0

    Zobacz nasz poradnik o widoczności usług.

Zwiększanie sprzedaży instrukcji

  • Polski język: Proste instrukcje po polsku przyciągają użytkowników.
  • Demo: Pokaż działające Flowise na https://flowise.agencja-ai.com.
  • PDF: Udostępnij ten artykuł jako PDF na agencja-ai.com.

Podsumowanie

Przeanalizowaliśmy porty usług w local-ai-packaged, zidentyfikowaliśmy konflikty (porty 3000, 8080, 5432, 9000) i zaproponowaliśmy poprawki w docker-compose.yml. Usługi takie jak Neo4j i Supabase Realtime wymagają dodatkowej konfiguracji. Twój serwer (192.168.76.171) jest teraz lepiej przygotowany do hostowania usług AI z GPU NVIDIA RTX 3060. Ten poradnik zwiększy atrakcyjność Twoich instrukcji na agencja-ai.com. Potrzebujesz więcej poradników, np. o konfiguracji Konga lub optymalizacji Supabase? Napisz do nas! 😄

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

Leave a comment

0.0/5