Dajte drugim korisnicima ograničenu kontrolu nad vašim Raspberry Pi web poslužiteljem za izvršavanje rutinskih zadataka.

Ako koristite Raspberry Pi kao kućni poslužitelj, vjerojatno će i prijatelji i obitelj također pristupati njegovim uslugama. Povremeno će morati izvršavati neke rutinske zadatke koji zahtijevaju ograničenu kontrolu nad poslužiteljem.

OliveTin je aplikacija s vlastitim hostingom kojoj mogu pristupiti putem web preglednika kako bi izvršili unaprijed određene naredbe i skripte koje ste definirali.

Zašto koristiti OliveTin na Raspberry Pi?

Raspberry Pi serija računala s jednom pločom čini izvrsne lagane kućne poslužitelje, a relativno ih je jednostavno postaviti Raspberry Pi web poslužitelj.

Uz hosting web stranica i blogova, vaš Raspberry Pi može ugostiti galerije fotografija, kuharice i online uredski paketi. Možeš prenosite filmove i emisije na svoj TV uz Jellyfin, ili sami udomite biblioteku audioknjiga s Audiobookshelfom.

Niste ograničeni ni na broj korisnika koje možete imati, pa osim ako ne živite sami, vjerojatno dijelite pristup svojim Raspberry Pi uslugama s ostalim članovima vašeg kućanstva.

Poslužitelji, kao i svaka druga vrsta računala, trebaju povremeno održavanje. Vaši korisnici će možda trebati pokrenuti ili zaustaviti određene usluge, spojite se na VPN, sigurnosno kopiranje datoteka na Raspberry Pi, ili provjerite probleme s mrežom.

Ako su vaša obitelj i ukućani upoznati s Linux naredbenim redom, i vjerujete im da neće slučajno ili namjerno ometati vaš sustav, možete razmisliti o tome da im date vlastite SSH vjerodajnice zajedno s članstvo u sudo grupi, tako da mogu obavljati ove zadatke bez da vam smetaju.

To je primamljiv, ali opasan prijedlog, a ako nešto pođe po zlu, vi ste ti koji ćete to morati popraviti. Uz OliveTin možete definirati rutinske naredbe koje će drugi korisnici poslužitelja možda morati redovito izvršavati. Zatim mogu otvoriti web-preglednik i pritisnuti gumb koji će pokrenuti naredbu na vašem Pi-u - bez potrebe da dodiruju naredbeni redak.

Kako instalirati OliveTin na Raspberry Pi

OliveTin najlakše instalirate koristeći Docker Compose. Ako već nemate instalirane Docker i Docker Compose na Raspberry Pi, pogledajte naš osnovni vodič o kako instalirati Docker i Docker Compose na Linux.

Povežite se na svoj Raspberry Pi poslužitelj pomoću Sigurna ljuska (SSH):

ssh pi@tvoj-lokalna-pi-ip-adresa

Napravite novi direktorij za OliveTin i upotrijebite CD naredba za prelazak u njega:

mkdir maslina && CD olivetin

Upotrijebite uređivač nano teksta za izradu nove Docker Compose datoteke:

nanodocker-compose.yml

Kopirajte i zalijepite sljedeće:

verzija: "3.5"
usluge:
olivetin:
naziv_spremnika: olivetin
slika: jamesread/olivetin
korisnik: root
svezaci:
- ~/olivetin:/konfiguracija
- /var/trčanje/docker.sock:/var/trčanje/docker.čarapa
luke:
- "1337:1337"
ponovno pokretanje: osim ako nije zaustavljeno

mreže:
mreža:
odjeljak:
vanjski: pravi

Sada spremite i izađite iz nano-a pomoću Ctrl + O zatim Ctrl + X.

Prije nego što prvi put pokrenete OliveTin, morate izraditi konfiguracijsku datoteku. Ovdje ćete definirati naredbe koje će korisnici pokretati. Za sada unesite:

dodirkonfiguracija.yaml

Koristite OliveTin kako biste svojim korisnicima dali ograničenu kontrolu poslužitelja

U svoj terminal unesite:

docker-compose up -d 

Ova naredba će pokrenuti Docker Compose u odvojenom načinu rada. Docker Compose će preuzeti slike za OliveTin i postaviti spremnike. Ovaj proces može potrajati neko vrijeme. Kada se vratite na naredbeni redak, provjerite radi li sve ispravno pomoću:

docker-compose ps

Otvorite preglednik i idite na vaša-pi-lokalna-ip-adresa: 1337. Trebali biste vidjeti sivu web stranicu s podnožjem OliveTin. Sada ste spremni za početak definiranja naredbi za svoje korisnike.

Natrag na terminalu upotrijebite nano za uređivanje konfiguracijske datoteke koju ste ranije izradili:

nanokonfiguracija.yaml

Sintaksa je jednostavna i možete definirati nazive usluga i radnje koje treba izvršiti slično sljedećem primjeru:

akcije:
- naslov: "Ponovo pokreni poslužitelj"
ljuska: ponovno pokretanje

- naslov: "Ping Netflix"
ljuska: pingnetflix.com

- naslov: Ponovno pokrenite Apache
ikona: "🏁"
ljuska: sudo service apache2 restart

title polje je naslov koji korisnici mogu vidjeti, dok naredba slijedi ljuska: je naredba koja će se zapravo izvršiti na vašem Raspberry Piju.

OliveTin podržava unicode ikone, a možete navesti njihov HTML kod u ikona odjeljak. Alternativno, možete postaviti puni URL slike koju želite koristiti. Na primjer:

ikona: '<imgsrc = " https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg"širina = "81px"/>'

Dok naša konfiguracija daje primjere koji će ponovno pokrenuti Raspberry Pi, ponovno pokrenuti Apache i pingati Netflix, zaista nema ograničenja u tome koje naredbe možete odrediti. Korisnicima možete dati gumb koji će kopirati filmove iz jednog direktorija u drugi, brzo obrisati i prepisati određene direktorije ili izgraditi kill-switch koji će šifrirati vaše uređaje za pohranu pomoću a slučajni ključ.

Kada budete zadovoljni svojom konfiguracijom, spremite datoteku i izađite iz nanoa pritiskom na Ctrl + O zatim Ctrl + X.

Svaki stdout proizveden kao rezultat pritiskanja gumba se bilježi. Dnevnike možete vidjeti pritiskom na Dnevnici gumb u gornjem desnom kutu. Uz OliveTin također možete dopustiti korisnicima da daju naredbe, poznate kao argumenti, putem web sučelja—bilo s tekstnim okvirom ili s padajućim izborom.

Zbog opasnosti povezane s dopuštanjem neiskusnim korisnicima da izdaju privilegirane proizvoljne naredbe izravno vašem Raspberry Pi poslužitelju, možete ograničiti vrstu argumenta koju će OliveTin prihvatiti.

Za brzu referencu, vrste su:

Tip

Prihvaćene vrijednosti

vrlo_opasan_sirov_string

Kao što naziv sugerira, korisnik će moći unijeti bilo koji tekst ili naredbu i izvršiti je

int

Bilo koji cijeli pozitivan broj

ascii

Bilo koji znakovi ili brojevi, ali bez razmaka ili interpunkcijskih znakova

ascii_identifikator

Za DNS i slično

ascii_rečenica

a-z, 0-9, s razmacima, . i ,

url

Web adresa

Definicija tekstualnog okvira u vašem config.yaml datoteka je formatirana na sljedeći način:

akcije:
- naslov: Jeka nešto za naredbeni redak
ikona: "⛔"
ljuska: jeka {{ poruka }}
argumenti:
- ime: poruka
tip: vrlo_opasan_sirov_string

Tekstni okvir će se pojaviti kada netko pritisne odgovarajuću tipku i omogućit će bilo kojem korisniku na vašoj lokalnoj mreži da izvrši proizvoljan kod kroz preglednik. To uopće nije dobra ideja.

OliveTin korisnicima olakšava obavljanje osnovnih zadataka na vašem Raspberry Pi poslužitelju

Raspberry Pi je savršena platforma kućnog poslužitelja za usluge hostinga za vašu obitelj, a OliveTin im olakšava jednostavno održavanje bez da vas ometa.

Postoje tisuće projekata koje sami hostirate na Raspberry Piju i koji će koristiti vašem kućanstvu. Istražite i saznajte koje usluge plaćate, a umjesto toga možete sami biti domaćin!