Skip to content Skip to footer

Ubuntu Server Konfiguracja portów w firewallu

dla local-ai-packaged na

Wprowadzenie

Po uruchomieniu usług pakietu local-ai-packaged (https://github.com/coleam00/local-ai-packaged) na Ubuntu Server, takich jak Supabase, n8n, Flowise, czy Open WebUI, musisz upewnić się, że odpowiednie porty w firewallu są otwarte, aby umożliwić dostęp do tych usług. Bez prawidłowej konfiguracji firewalla dostęp do interfejsów, takich jak Supabase Studio czy n8n, może być zablokowany, szczególnie jeśli pracujesz na zdalnym serwerze. Ten artykuł przedstawia idiotoodporną instrukcję konfiguracji portów w firewallu na Ubuntu Server z użyciem ufw, zgodnie z wytycznymi projektu i dokumentacją Supabase (https://supabase.com/docs/guides/self-hosting/docker).

Dlaczego konfiguracja firewalla jest ważna?

Pakiet local-ai-packaged uruchamia wiele usług, z których każda działa na określonym porcie (np. 8000 dla Supabase Studio, 5678 dla n8n, 3001 dla Flowise). Jeśli firewall blokuje te porty, dostęp do usług będzie niemożliwy z zewnątrz lub nawet lokalnie na serwerze. Konfiguracja firewalla za pomocą ufw (Uncomplicated Firewall) zapewnia, że tylko niezbędne porty są otwarte, minimalizując ryzyko ataków w środowisku publicznym, a jednocześnie umożliwiając dostęp do kluczowych komponentów AI.

Uwaga: Dokumentacja projektu podkreśla, że w środowisku publicznym należy ograniczyć otwarte porty do 80 i 443, jeśli używasz Caddy do zarządzania HTTPS. Jednak w środowisku lokalnym lub podczas testów możesz potrzebować otworzyć dodatkowe porty.

Krok po kroku: Konfiguracja portów w firewallu dla local-ai-packaged

1. Sprawdzenie statusu firewalla

Upewnij się, że jesteś w katalogu projektu local-ai-packaged, choć w tym kroku nie jest to konieczne:

cd ~/local-ai-packaged

Sprawdź, czy ufw jest zainstalowany i aktywny:

sudo ufw status

Jeśli zobaczysz komunikat Status: inactive, oznacza to, że firewall nie jest włączony. Jeśli ufw nie jest zainstalowany, zainstaluj go:

sudo apt update
sudo apt install -y ufw

2. Włączenie firewalla

Włącz ufw, aby zacząć zarządzać regułami firewalla:

sudo ufw enable

Ostrzeżenie: Włączenie ufw może zablokować wszystkie połączenia przychodzące, jeśli nie skonfigurowano żadnych reguł. Upewnij się, że masz dostęp do serwera (np. przez SSH na porcie 22) przed kontynuacją.

3. Otwarcie portu SSH

Aby nie utracić dostępu do serwera przez SSH, otwórz port 22:

sudo ufw allow 22

Zweryfikuj, czy reguła została dodana:

sudo ufw status

Powinieneś zobaczyć linię podobną do:

22                         ALLOW       Anywhere

4. Identyfikacja portów używanych przez local-ai-packaged

Pakiet local-ai-packaged używa kilku portów dla różnych usług. Kluczowe porty, które mogą wymagać otwarcia, to:

  • 80: Dla Caddy (HTTP, przekierowanie na HTTPS) – wymagane w środowisku publicznym.

  • 443: Dla Caddy (HTTPS) – wymagane w środowisku publicznym.

  • 8000: Supabase Studio (interfejs zarządzania bazą danych).

  • 5678: n8n (platforma low-code do przepływów pracy).

  • 3000: Open WebUI (interfejs do interakcji z modelami AI).

  • 3001: Flowise (narzędzie low-code do agentów AI).

  • 11434: Ollama (lokalne modele językowe).

  • 6333: Qdrant (magazyn wektorowy).

  • 7474: Neo4j (silnik grafów wiedzy, interfejs HTTP).

Uwaga: W środowisku lokalnym ( –environment private) możesz otworzyć wszystkie powyższe porty dla łatwiejszego dostępu. W środowisku publicznym ( –environment public) ogranicz się do portów 80 i 443, jeśli używasz Caddy, zgodnie z dokumentacją.

Sprawdź, które porty są używane przez usługi, przeglądając plik docker-compose.yml:

cat ~/local-ai-packaged/docker-compose.yml | grep ports

Zwróć uwagę na sekcje ports dla każdej usługi (np. 8000:8000, 5678:5678).

5. Otwarcie portów dla środowiska lokalnego

Jeśli pracujesz w środowisku lokalnym lub testowym ( –environment private), otwórz wszystkie niezbędne porty:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 8000
sudo ufw allow 5678
sudo ufw allow 3000
sudo ufw allow 3001
sudo ufw allow 11434
sudo ufw allow 6333
sudo ufw allow 7474

6. Otwarcie portów dla środowiska publicznego

Jeśli wdrażasz w środowisku publicznym ( –environment public) i używasz Caddy do zarządzania HTTPS, otwórz tylko porty 80 i 443:

sudo ufw allow 80
sudo ufw allow 443

Ważne: W środowisku publicznym Caddy obsługuje przekierowania i certyfikaty SSL, więc wszystkie usługi (np. Supabase, n8n, Flowise) powinny być dostępne przez subdomeny skonfigurowane w pliku .env (np. n8n.yourdomain.com, supabase.yourdomain.com). Upewnij się, że sekcja Caddy Config w pliku .env jest poprawnie skonfigurowana (patrz wcześniejszy artykuł).

7. Przeładowanie reguł firewalla

Po dodaniu reguł przeładuj ufw, aby zastosować zmiany:

sudo ufw reload

Zweryfikuj, czy porty są otwarte:

sudo ufw status

Powinieneś zobaczyć listę otwartych portów, np.:

22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
8000                       ALLOW       Anywhere
5678                       ALLOW       Anywhere
3000                       ALLOW       Anywhere
3001                       ALLOW       Anywhere
11434                      ALLOW       Anywhere
6333                       ALLOW       Anywhere
7474                       ALLOW       Anywhere

8. Weryfikacja dostępu do usług

Sprawdź, czy możesz uzyskać dostęp do usług przez przeglądarkę:

  • Supabase Studio: http://localhost:8000 lub http://<your-server-ip>:8000.

  • n8n: http://localhost:5678 lub http://<your-server-ip>:5678.

  • Open WebUI: http://localhost:3000 lub http://<your-server-ip>:3000.

  • Flowise: http://localhost:3001 lub http://<your-server-ip>:3001.

Jeśli używasz środowiska publicznego z Caddy, użyj skonfigurowanych subdomen, np. https://n8n.yourdomain.com.

9. (Opcjonalne) Ograniczenie dostępu do konkretnych adresów IP

Dla większego bezpieczeństwa możesz ograniczyć dostęp do portów tylko dla określonych adresów IP, np. twojego lokalnego komputera:

sudo ufw allow from <your-ip-address> to any port 8000
sudo ufw allow from <your-ip-address> to any port 5678
sudo ufw allow from <your-ip-address> to any port 3000
sudo ufw allow from <your-ip-address> to any port 3001

Zastąp <your-ip-address> swoim publicznym adresem IP (sprawdź go np. za pomocą curl ifconfig.me).

10. Przygotowanie do następnych kroków

Po skonfigurowaniu firewalla twoje środowisko local-ai-packaged jest w pełni dostępne. Możesz teraz kontynuować tworzenie przepływów pracy w n8n lub Flowise, dodawać modele do Ollama lub zarządzać danymi w Supabase Studio.

Najlepsze praktyki

  • Minimalizacja otwartych portów: W środowisku publicznym otwieraj tylko porty 80 i 443, korzystając z Caddy do zarządzania ruchem HTTPS.

  • Używanie HTTPS: Skonfiguruj Caddy z certyfikatami SSL (poprzez LETSENCRYPT_EMAIL w pliku .env), aby zapewnić bezpieczne połączenia.

  • Regularne sprawdzanie reguł: Okresowo weryfikuj reguły firewalla (sudo ufw status), aby upewnić się, że nie ma niepotrzebnie otwartych portów.

  • Logi usług: Jeśli dostęp do usług jest nadal zablokowany, sprawdź logi Docker (docker compose logs), aby zidentyfikować potencjalne problemy z konfiguracją usług.

Rozwiązywanie problemów

  • Brak dostępu do usług: Upewnij się, że podane porty są otwarte (sudo ufw status) i że usługi działają (docker compose ps). Jeśli usługa nie działa, uruchom ją ręcznie:

docker compose start <service-name>
  • Problemy z Caddy w środowisku publicznym: Sprawdź, czy sekcja Caddy Config w pliku .env jest poprawnie skonfigurowana i czy subdomeny wskazują na prawidłowy adres IP serwera.

  • Błąd połączenia SSH po włączeniu ufw: Jeśli straciłeś dostęp do serwera, upewnij się, że port 22 jest otwarty. Jeśli masz dostęp do konsoli serwera (np. przez panel chmury), dodaj regułę:

sudo ufw allow 22
sudo ufw reload
  • Usługi działają, ale porty są zablokowane: Sprawdź, czy Docker nie omija reguł ufw (to częsty problem, jak wspomniano w dokumentacji). Rozwiązaniem jest użycie Caddy i ograniczenie ruchu do portów 80/443 lub ręczna konfiguracja iptables, co wykracza poza zakres tego artykułu.

Podsumowanie

Konfiguracja portów w firewallu za pomocą ufw zapewnia dostęp do usług pakietu local-ai-packaged, takich jak Supabase, n8n, Flowise i Open WebUI, przy jednoczesnym zachowaniu bezpieczeństwa. W środowisku lokalnym otwórz wszystkie niezbędne porty, a w publicznym ogranicz się do 80 i 443 z Caddy. W następnym artykule możesz skupić się na optymalizacji środowiska, np. dodaniu nowych modeli do Ollama lub tworzeniu zaawansowanych przepływów pracy w n8n i Flowise.

Leave a comment

0.0/5