
Lokalni AI s Ollamom: privatnost počinje zatvorenim portom, ne instalacijom

Za lokalni jezični model pokrenite Ollamu u Dockeru s trajnim volumenom i objavite njezin API samo na adresi 127.0.0.1. Aplikacija na istom računalu tada može slati zahtjeve modelu, dok pristup s drugih uređaja ne otvarate samim pokretanjem spremnika.
Dockerova dokumentacija o objavljivanju portova navodi da preslikavanje bez zadane adrese sluša na svim mrežnim sučeljima te upozorava da u izdanjima starijima od 28.0.0 i port vezan na localhost može biti dostupan uređajima u istom mrežnom segmentu. Zato provjerite verziju Docker Enginea i stvarno preslikavanje porta prije slanja povjerljivih upita.
Pokrenite Ollamu s trajnim volumenom
Ollamine upute za Docker koriste sliku ollama/ollama, port 11434 i volumen priključen na /root/.ollama. Za pokretanje na procesoru zadržite te postavke, ali adresu domaćina u preslikavanju izričito ograničite na localhost:
docker run -d -v ollama:/root/.ollama -p 127.0.0.1:11434:11434 --name ollama ollama/ollama
U dijelu -v ollama:/root/.ollama prva riječ označava imenovani Dockerov volumen, a putanja iza dvotočke mjesto na kojem ga spremnik vidi. Preuzeti modeli u tom volumenu ostaju dostupni kada uklonite spremnik i ponovno ga stvorite s istim volumenom. Brisanje volumena zasebna je radnja koja uklanja njegov sadržaj, pa ga nemojte uklanjati tijekom uobičajenog ažuriranja slike.
Naredba prikazuje procesorsku varijantu, bez dodatnih postavki za grafičku karticu. Ollamine upute za NVIDIA i AMD uređaje traže različite preduvjete i argumente spremnika; zato prvo uspostavite radnu mrežnu i pohrambenu postavu, a GPU dodajte tek kada znate koji je podržan na vašem računalu. Prisutnost grafičke kartice sama po sebi ne znači da je spremnik može koristiti.
Preuzmite model i odvojeno provjerite mrežu i API
Za početak pokrenite docker exec -it ollama ollama run llama3.2. Ako model još nije preuzet, Ollama će ga preuzeti prije razgovora, pa je u tom trenutku potreban pristup internetu. Kratak upit u otvorenom razgovoru provjerava može li se model učitati i odgovoriti; sam uspješan start spremnika to ne pokazuje.
Na računalu domaćinu zatim izvršite docker port ollama 11434. Očekivano preslikavanje u ovoj postavi završava na 127.0.0.1:11434; prikaz 0.0.0.0 ili [::] znači da je port objavljen šire. U tom slučaju zaustavite i uklonite spremnik te ga ponovno stvorite s izričitom lokalnom adresom. Volumen pritom ostavite priključen pod istim imenom.
Odgovor poslužitelja možete provjeriti naredbom curl http://127.0.0.1:11434/v1/models. Popis modela pokazuje da API odgovara i da je preuzeti model dostupan, ali ne govori s koje je adrese servis dosegljiv drugim uređajima. Zato pregled preslikavanja dopunite pokušajem pristupa adresi domaćina i portu s drugog uređaja u istoj mreži. Neuspješan pokušaj sam po sebi nije konačan dokaz pravilnog vezanja: vezu može blokirati i vatrozid.
Povežite aplikaciju i uskladite model s memorijom
Dockerove upute za lokalne modele za Ollamu navode baznu adresu http://localhost:11434/v1, sučelje kompatibilno s OpenAI-jevim API-jem i lokalni pristup bez API ključa; za model od 7 milijardi parametara procjenjuju tipičnu potrebu za 8–16 GB RAM-a. U aplikaciji koja podržava takav API unesite tu baznu adresu i naziv modela koji ste preuzeli. Docker Agent, primjerice, podržava oznaku ollama/llama3.2.
Ta adresa vrijedi kada se aplikacija izvršava na računalu domaćinu. Naziv localhost unutar drugog spremnika označava taj drugi spremnik, pa aplikacija ondje neće pronaći Ollamu na istoj adresi. Ako oba programa moraju raditi u spremnicima, spojite ih na namjensku korisnički definiranu Dockerovu mrežu i u aplikaciji koristite adresu poput http://ollama:11434/v1, gdje je ollama ime spremnika.
To povezivanje mijenja i granicu pristupa: spremnici na istoj Dockerovoj mreži mogu međusobno dohvatiti njihove portove bez obzira na to što je port na računalu domaćinu objavljen samo lokalno. Na zajedničku mrežu zato priključite samo spremnike kojima API treba. Lokalna aplikacija također mora biti postavljena tako da upite šalje toj adresi, a ne nekoj dodatnoj udaljenoj usluzi.
Broj parametara služi kao početna procjena, a odluku donesite prema slobodnoj memoriji računala. Operacijski sustav, druge aplikacije, dulji kontekst i istodobni zahtjevi također troše resurse. Ako se sustav oslanja na zamjensku memoriju ili se model učitava presporo, pokušajte s manjim modelom. Podršku za pozivanje alata provjerite prema mogućnostima odabranog modela ako je vaša aplikacija koristi.
Ažuriranje bez gubitka modela ili širenja pristupa
Za zamjenu slike zaustavite spremnik naredbom docker stop ollama, uklonite ga naredbom docker rm ollama, a novu sliku preuzmite naredbom docker pull ollama/ollama. Potom ponovite početnu naredbu s volumenom ollama i preslikavanjem na 127.0.0.1. Nakon pokretanja pregledajte docker port ollama 11434 i ponovno zatražite popis modela; time zasebno provjeravate mrežnu postavku i očuvanje preuzetih datoteka.
Ako pristup kasnije treba drugom uređaju, promjenu tretirajte kao novu mrežnu postavku. Prije objavljivanja API-ja na mrežnoj adresi odredite dopuštene klijente, način ograničavanja pristupa te posrednika za autentifikaciju i šifriranje ako se promet prenosi izvan pouzdane lokalne okoline. Sama instalacija lokalnog modela ne ograničava tko može slati zahtjeve na otvoreni API.
Pročitajte i:
Povezani članci


Gemini 4 Argon vodi na dijelu testova, ali pristup ostaje zatvoren

Dvije NetScaler zero-day ranjivosti već se iskorištavaju — zakrpa je hitna

Copilotov pregled koda dobio je API — zadani Balanced troši više kredita

Passkey za Microsoft račun: pogrešno mjesto spremanja otežava oporavak

Obsidian ili Notion: lokalne bilješke pobjeđuju tek kad tim nije presudan
Pretplatite se na naš newsletter
Primajte najnovije vijesti o Web3-u, AI-ju i kriptovalutama izravno u svoj sandučić.