Jeśli używasz Raspberry Pi jako serwera domowego, prawdopodobnie znajomi i rodzina również mają dostęp do jego usług. Czasami będą musieli wykonać pewne rutynowe zadania, które wymagają ograniczonej kontroli nad serwerem.
OliveTin to samodzielnie hostowana aplikacja, do której mogą uzyskiwać dostęp za pośrednictwem przeglądarki internetowej w celu wykonywania z góry określonych poleceń i skryptów zdefiniowanych przez Ciebie.
WYKORZYSTAJ WIDEO DNIA PRZEWIŃ, ABY KONTYNUOWAĆ TREŚĆ
Dlaczego warto używać OliveTin na Raspberry Pi?
Seria komputerów jednopłytowych Raspberry Pi zapewnia doskonałe lekkie serwery domowe i jest stosunkowo łatwa skonfigurować serwer WWW Raspberry Pi .
Oprócz hostingu stron internetowych i blogów, Twoje Raspberry Pi może obsługiwać galerie zdjęć , książki kucharskie i pakiety biurowe online. Możesz przesyłaj strumieniowo filmy i programy do telewizora za pomocą Jellyfin , Lub samodzielnie hostować bibliotekę audiobooków za pomocą Audiobookshelf .
Nie jesteś też ograniczony liczbą użytkowników, których możesz mieć, więc jeśli nie mieszkasz sam, prawdopodobnie dzielisz dostęp do swoich usług Raspberry Pi z innymi członkami gospodarstwa domowego.
Serwery, jak każdy inny typ komputera, wymagają okresowej konserwacji. Twoi użytkownicy mogą tego potrzebować uruchamiać lub zatrzymywać określone usługi , połączyć się z VPN , tworzyć kopie zapasowe plików na Raspberry Pi , Lub sprawdź problemy z siecią .
Jeśli twoja rodzina i współlokatorzy są znasz linię poleceń Linuksa i ufasz, że nie zablokują przypadkowo lub celowo Twojego systemu, możesz rozważyć przekazanie im ich własnych poświadczeń SSH wraz z członkostwo w grupie sudo , aby mogli wykonywać te zadania bez przeszkadzania Tobie.
To kusząca, ale niebezpieczna propozycja, a jeśli coś pójdzie nie tak, to ty będziesz musiał to naprawić. Dzięki OliveTin możesz zdefiniować rutynowe polecenia, które inni użytkownicy serwera mogą potrzebować regularnie wykonywać. Następnie mogą otworzyć przeglądarkę internetową i nacisnąć przycisk, który uruchomi polecenie na twoim Pi - bez konieczności dotykania wiersza poleceń.
Jak zainstalować OliveTin na Raspberry Pi
Najłatwiejszym sposobem instalacji OliveTin jest użycie Docker Compose. Jeśli nie masz jeszcze zainstalowanych Docker i Docker Compose na swoim Raspberry Pi, zapoznaj się z naszym niezbędnym przewodnikiem jak zainstalować Docker i Docker Compose w systemie Linux .
Połącz się z serwerem Raspberry Pi za pomocą Bezpieczna powłoka (SSH):
ssh pi@your-local-pi-ip-address
Utwórz nowy katalog dla OliveTin i użyj pliku płyta CD polecenie przejścia do niego:
mkdir olivetin && cd olivetin
Użyj edytora tekstu nano, aby utworzyć nowy plik Docker Compose:
nano docker-compose.yml
Skopiuj i wklej w następujący sposób:
version: "3.5"
services:
olivetin:
container_name: olivetin
image: jamesread/olivetin
user: root
volumes:
- ~/olivetin:/config
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "1337:1337"
restart: unless-stopped
networks:
web:
section:
external: true
Teraz zapisz i wyjdź z nano za pomocą Ctrl + O Następnie Ctrl + X .
Zanim uruchomisz OliveTin po raz pierwszy, musisz utworzyć plik konfiguracyjny. W tym miejscu zdefiniujesz polecenia, które mają uruchamiać użytkownicy. Na razie wpisz:
touch config.yaml
Użyj OliveTin, aby dać swoim użytkownikom ograniczoną kontrolę nad serwerem
W swoim terminalu wpisz:
docker-compose up -d
To polecenie wywoła Docker Compose w trybie odłączonym. Docker Compose pobierze obrazy dla OliveTin i skonfiguruje kontenery. Ten proces może trochę potrwać. Po powrocie do wiersza polecenia sprawdź, czy wszystko działa poprawnie, używając:
docker-compose ps
Otwórz przeglądarkę i przejdź do twój-lokalny-adres-ip:1337 . Powinieneś zobaczyć szarą stronę internetową ze stopką OliveTin. Teraz możesz przystąpić do definiowania poleceń dla użytkowników.
Po powrocie do terminala użyj nano do edycji utworzonego wcześniej pliku konfiguracyjnego:
nano config.yaml
Składnia jest prosta i można zdefiniować nazwę usługi i akcje, które mają być wykonane, podobnie jak w poniższym przykładzie:
actions:
- title: "Reboot server"
shell: reboot
- title: "Ping Netflix"
shell: ping netflix.com
- title: Restart Apache
icon: "🏁"
shell: sudo service apache2 restart
t To pole to tytuł, który użytkownicy mogą zobaczyć, podczas gdy polecenie następuje powłoka: to polecenie, które faktycznie zostanie wykonane na twoim Raspberry Pi.
OliveTin obsługuje ikony Unicode i możesz określić ich kod HTML w pliku Ikona Sekcja. Alternatywnie możesz ustawić pełny adres URL obrazu, którego chcesz użyć. Na przykład:
icon: '<img src = "https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg" width = "81px"/>'
Chociaż nasza konfiguracja zawiera przykłady, które zrestartują Raspberry Pi, zrestartują Apache i pingują Netflix, naprawdę nie ma ograniczeń co do poleceń, które możesz określić. Możesz dać użytkownikom przycisk, który skopiuje filmy z jednego katalogu do drugiego, szybko wyczyści i nadpisze niektóre katalogi lub zbuduje wyłącznik awaryjny, który zaszyfruje twoje urządzenia pamięci losowym kluczem.
najlepsze aplikacje na telewizor z Androidem 2018
Gdy będziesz zadowolony ze swojej konfiguracji, zapisz plik i wyjdź z nano, naciskając Ctrl + O Następnie Ctrl + X.
Każde standardowe wyjście wygenerowane w wyniku naciśnięcia przycisku jest rejestrowane. Dzienniki można wyświetlić, naciskając przycisk Logi przycisk w prawym górnym rogu. Dzięki OliveTin możesz także zezwolić użytkownikom na wydawanie poleceń, zwanych argumentami, za pośrednictwem interfejsu internetowego — albo za pomocą pola tekstowego, albo za pomocą rozwijanych opcji.
Ze względu na niebezpieczeństwo związane z pozwoleniem niedoświadczonym użytkownikom na wydawanie uprzywilejowanych dowolnych poleceń bezpośrednio na serwerze Raspberry Pi, możesz ograniczyć typ argumentów akceptowanych przez OliveTin.
Dla szybkiego odniesienia, typy to:
Typ | Akceptowane wartości |
---|---|
bardzo_niebezpieczny_surowy_string | Jak sama nazwa wskazuje, użytkownik będzie mógł wprowadzić dowolny tekst lub polecenie i zlecić jego wykonanie |
int | Dowolna liczba całkowita dodatnia |
ascii | Dowolne znaki lub cyfry, ale bez spacji i znaków interpunkcyjnych |
identyfikator_ascii | Dla DNS i podobnych |
ascii_zdanie | a-z , 0-9, ze spacjami, |
adres URL | Adres internetowy |
Definicja pola tekstowego w pliku your config.yaml plik jest sformatowany jak poniżej:
jak patrzeć na dms na instagramie pc
actions:
- title: Echo something to command line
icon: "⛔"
shell: echo {{ message }}
arguments:
- name: message
type: very_dangerous_raw_string
Pole tekstowe pojawi się, gdy ktoś naciśnie odpowiedni przycisk, i pozwoli każdemu użytkownikowi w Twojej sieci lokalnej wykonać dowolny kod przez przeglądarkę. Nie jest to do końca dobry pomysł.
OliveTin ułatwia użytkownikom wykonywanie podstawowych zadań na serwerze Raspberry Pi
Raspberry Pi to idealna platforma domowego serwera do usług hostingowych dla Twojej rodziny, a OliveTin ułatwia im przeprowadzanie prostej konserwacji bez przeszkadzania Tobie.
Istnieją tysiące samodzielnie hostowanych projektów, które możesz uruchomić na Raspberry Pi, co przyniesie korzyści Twojemu gospodarstwu domowemu. Zrób rozeznanie i dowiedz się, za jakie usługi płacisz, a które możesz ugościć u siebie!