GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come creare un server di sviluppo personale su un Raspberry Pi da $ 5

In questo articolo imparerai come creare un server di sviluppo personale installando Git, Node.js, Rust e Docker su un Raspberry Pi. L'opzione più economica costa solo $ 5. Puoi ottenere uno starter kit ($ 25) gratuitamente qui.

Il Raspberry Pi è un computer molto potente in un piccolo pacchetto. L'opzione più economica, Raspberry Pi Zero, è in grado di eseguire una distribuzione Linux completa e di gestire un display ad alta definizione. Ha le dimensioni di due monete (quartieri statunitensi) e costa $ 5.

A $ 10, Raspberry Pi Zero W viene fornito con WiFi e Bluetooth integrati.

Nella "fascia alta", puoi acquistare un kit desktop Raspberry Pi 4 per meno di $ 100. Ha una CPU ARM a 4 core funzionante a 1,5 GHz, GPU, 2 GB (fino a 8 GB) di RAM, 16 GB (fino a 2 TB) di spazio di archiviazione su schede MicroSD, connettori Wi-Fi ed Ethernet, porte USB, porte HDMI che possono guidare Display 4K, oltre a tastiera e mouse.

Il Raspberry Pi è anche più di un computer standard. È divertente e hackerabile. Il Raspberry Pi espone una riga di pin GPIO (General Purpose Input Output). Puoi collegare semplici sensori (ad es. temperatura, umidità, luce) a quei pin e acquisire i loro dati dalle tue applicazioni in esecuzione sul Pi.

Puoi anche collegare luci e motori a LED a quei pin e utilizzare la tua applicazione Pi per pilotare quei dispositivi periferici.

Per sensori o dispositivi più complessi, come i moduli della fotocamera, puoi anche connetterti al Pi tramite USB o Wifi e accedervi via software. Il Pi è un ottimo dispositivo per l'apprendimento e l'hacking hardware. Per questo motivo è ampiamente utilizzato in contesti educativi.

Tuttavia, il divertimento e l'apprendimento non sono solo per i bambini. Con così tanta potenza di calcolo e una facile connessione in rete, Raspberry Pi può facilmente diventare un server di applicazioni personale per te.

Ad esempio, puoi inserire un'applicazione Web (ad esempio, un'app per la creazione di note collaborative o solo alcuni documenti/video da condividere) su un Pi, portarla a una riunione e renderla accessibile a tutti nella stanza virtuale. Non hai nemmeno bisogno di Internet. È completamente decentralizzato e resistente alla censura.

Il server personale è particolarmente utile per gli sviluppatori. Puoi avere un ambiente separato per distribuire e testare le tue applicazioni lato server senza dover fare confusione con il tuo laptop. Un server di sviluppo personale è come Docker sotto steroidi. In questo articolo ti insegnerò come configurarne uno.

Prima, prendi un Raspberry Pi

Se questo è il tuo primo Raspberry Pi, il modo più semplice (e più costoso) per configurare è acquistare un kit desktop per circa $ 100. Viene fornito con tutto il necessario per un computer tranne il display.

Se stai usando il Pi come un server di sviluppo personale, NON avresti bisogno di un display dopo la configurazione iniziale. Puoi semplicemente accedervi tramite SSH dal tuo laptop una volta acceso!

Scopri come ottenere gratuitamente il tuo starter kit Raspberry Pi partecipando a questo esercizio di apprendimento di applicazioni Web ad alte prestazioni.

Naturalmente, se si dispone di parti di computer di ricambio, come schede MicroSD, alimentatore USB, una tastiera e un mouse in giro, è possibile risparmiare acquistando solo le schede. Potresti ottenere una scheda Raspberry Pi Zero per $ 5 e una scheda Raspberry Pi 4 per $ 35.

Ma la cosa che manca alla scheda è una scheda MicroSD che funge da "disco rigido" per la memorizzazione del sistema operativo e dei dati. Puoi acquistare una scheda MicroSD da 16 GB per $ 10 online, un lettore di schede MicroSD e utilizzare Raspberry Pi Imager per caricare un sistema operativo sulla scheda MicroSD dal tuo laptop.

Le due scelte popolari sono Raspberry Pi OS e Ubuntu Linux. Entrambe sono distribuzioni Linux basate su Debian. La maggior parte degli starter kit preinstalla il sistema operativo Raspberry Pi sulle proprie schede MicroSD (si chiama NOOBS).

Nelle prossime due sezioni ti parlerò di entrambi i sistemi operativi.

Come configurare il sistema operativo Raspberry Pi

Dopo aver inserito la scheda MicroSD con NOOBS e collegato un display, una tastiera e un mouse, puoi accendere l'alimentazione!

Da lì, segui semplicemente le istruzioni sullo schermo per installare il sistema operativo Raspberry Pi (precedentemente noto come sistema operativo Raspbian). Quindi imposta una password per l'utente pi e imposta la connessione wifi.

Dopo aver effettuato l'accesso, vai al menu Preferenze → Configurazione Raspberry Pi e abilita SSH. Ciò ti consentirà di accedere al Pi da un altro computer.

Nota :per utilizzare il Pi come server “headless”, potresti richiedere un indirizzo IP statico al tuo router. In futuro, puoi semplicemente accendere il Pi e connetterti tramite SSH dagli altri tuoi computer o telefoni.

Il sistema operativo Raspberry Pi è derivato dalla distribuzione Debian Linux. Viene fornito con un ambiente completo dell'interfaccia utente desktop con un browser Web moderno, un terminale a riga di comando e programmi di apprendimento come IDE per Python, Java e Scratch.

Per i nostri scopi, siamo principalmente interessati all'installazione di software di sviluppo e server tramite il terminale della riga di comando.

A questo punto, potresti anche scoprire l'indirizzo IP del Pi sulla tua rete locale eseguendo il seguente comando. Quindi puoi SSH nel Pi utilizzando quell'indirizzo IP locale, il nome utente pi e la password che hai fornito a pi durante l'installazione.

$ hostname -I
192.168.2.108 172.17.0.1

Puoi trovare un elenco completo dei pacchetti software installati sul sistema operativo Raspberry Pi qui. È sempre una buona idea aggiornare e aggiornare agli ultimi pacchetti. Esegui il comando seguente e sii paziente. Potrebbe volerci un'ora.

$ sudo apt update && sudo apt upgrade

Come configurare Ubuntu Server 20.04

Il sistema operativo Raspberry Pi è principalmente orientato verso un'esperienza desktop. Per gli sviluppatori che vogliono semplicemente utilizzare il dispositivo come server o dispositivo IoT, Ubuntu Linux è una scelta molto migliore. Dispone dei pacchetti software e delle librerie più recenti e potrebbe essere molto più efficiente senza le finestre del desktop, il browser Web, Java, i giochi e gli strumenti di apprendimento.

Puoi scaricare le immagini del server Ubuntu per Raspberry Pi dal Web e caricarlo su una scheda MicroSD. Ma forse un modo molto più semplice è usare Raspberry Pi Imager, selezionare Ubuntu Server 20.04 TLS dal menu e scrivere in una scheda MicroSD vuota.

Una volta preparata la scheda MicroSD, è necessario seguire queste istruzioni per inserire il nome e la password della rete Wi-Fi. Ciò consente al dispositivo Raspberry Pi di connettersi alla rete non appena si avvia.

Fondamentalmente, puoi semplicemente inserire la scheda MicroSD nel Raspberry Pi, collegare l'alimentazione USB, quindi attendere che sia online. Puoi trovare il raspberrypi IP del dispositivo dal router Wi-Fi, quindi SSH da qualsiasi computer della rete.

Il nome utente e la password iniziali sono ubuntu / ubuntu . Non è nemmeno necessario collegare un monitor o una tastiera. Questo è tutto per una configurazione completamente senza testa!

Nota :se, per qualche motivo, il tuo Raspberry Pi non riesce a connettersi al WiFi all'avvio, puoi collegare un display HDMI e una tastiera USB ad esso. Quindi segui queste istruzioni per eseguire il debug e configurare il WiFi sul sistema in esecuzione.

Quindi, installiamo lo stack degli strumenti per sviluppatori sul Pi.

Installa Git

Installo sempre Git su tutti i miei ambienti di sviluppo perché molti software possono essere recuperati direttamente dai repository Git. Mi evita la fatica di scaricare e copiare.

Git mi consente anche di salvare ed eseguire il backup del mio lavoro in repository privati. Per un piccolo computer come Raspberry Pi, ti consiglio di salvare il lavoro in Git in caso di smarrimento del dispositivo o della scheda MicroSD.

Il comando seguente installa Git:

$ sudo apt install git

Installa Node.js

Per trasformare il Raspberry Pi in un server di sviluppo personale per applicazioni web, è necessario installare un moderno runtime di applicazioni web.

Per la maggior parte degli sviluppatori oggi, il miglior punto di partenza è Node.js, che consente di scrivere applicazioni lato server in JavaScript. I seguenti due comandi installano Node.js sul tuo Pi.

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
$ sudo apt install nodejs

È possibile verificare che l'installazione sia stata eseguita correttamente eseguendo i due comandi seguenti. Ora sono disponibili sia node che npm.

$ node -v
v10.19.0
$ npm -v
5.8.0

Da qui, puoi usare npm per installare i moduli. Ad esempio, un modulo npm comunemente usato è il framework express per le applicazioni web.

$ npm install express

Ora puoi seguire l'esempio hello world di ExpressJS per creare un server web sul tuo Pi e utilizzare i browser web da qualsiasi computer della tua rete per accedere all'applicazione!

Installa Rust

Rust è un linguaggio di programmazione in rapida crescita per la scrittura di sistemi e applicazioni web. È vicino all'hardware, ad alte prestazioni e sicuro per la memoria. Ciò rende Rust un ottimo linguaggio per la scrittura di applicazioni su dispositivi con risorse limitate come il Raspberry Pi.

Inoltre, Rust è il linguaggio di programmazione più amato dagli utenti di StackOverflow negli ultimi 5 anni consecutivi. Vale la pena dedicare del tempo per impararlo!

Un importante caso d'uso di Rust è compilare le funzioni Rust in WebAssembly ed eseguirle all'interno di applicazioni Node.js per ottenere prestazioni, sicurezza e portabilità del codice. È un'ottima scelta per eseguire applicazioni Web ad alta intensità di calcolo su un piccolo dispositivo Raspberry Pi. In effetti, potresti ottenere uno starter kit Raspberry Pi gratuito se impari come farlo.

Nota:in senso stretto, non è necessario installare gli strumenti Rust sul Pi. In genere devi solo eseguire i programmi Rust nel Pi. Puoi compilare il tuo programma Rust su qualsiasi computer e quindi copiare i binari compilati su Pi.

Tuttavia, con la potente CPU, puoi compilare programmi Rust sul Raspberry Pi. Allora perché no?

Il comando seguente installa la toolchain del compilatore Rust sul Pi.

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Esegui il comando seguente per impostare il percorso corretto senza disconnetterti e riconnetterti.

$ source $HOME/.cargo/env

Il comando precedente installa anche il gestore di pacchetti Rust chiamato cargo. La maggior parte degli sviluppatori di Rust utilizza cargo per creare e condividere il proprio lavoro.

$ cargo -V
cargo 1.44.1 (88ba85757 2020-06-11)

Successivamente, puoi clonare il nostro repository di apprendimento Rust e imparare dagli esempi.

$ git clone https://github.com/second-state/wasm-learning.git

Ecco l'esempio Hello World. Buon divertimento!

$ cd wasm-learning/rust/hello
$ cargo build
   Compiling hello v0.1.0 (/home/pi/Dev/wasm-learning/rust/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 4.35s
$ target/debug/hello
Hello, world!

Dai un'occhiata al sito Web ufficiale di Rust e ai libri di Rust by Example per ulteriori risorse di apprendimento.

Apprendi Docker

Abbiamo visto che il sistema operativo Raspberry Pi e il server Ubuntu sono entrambi distribuzioni Linux molto capaci con molti pacchetti software.

Ma cosa succede se voglio testare applicazioni su altri sistemi operativi? Devo pulire e reinstallare un altro sistema operativo sulla scheda MicroSD? La risposta è no. Puoi semplicemente usare Docker! I seguenti due comandi installano la finestra mobile sul Raspberry Pi:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Esegui il comando seguente in modo da poter utilizzare Docker come utente pi:

$ sudo usermod -aG docker pi

Il comando Info Docker mostra che Docker è ora installato su un sistema ARM con sistema operativo Raspberry Pi.

$ docker info
... ...
 Kernel Version: 4.19.118-v7l+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 3.814GiB
 Name: raspberrypi
 ID: XERI:ZVVZ:XQVA:HXSH:KRPI:6GL2:5QRE:E7GZ:Z72Q:6SGF:CEI6:GKTC
 Docker Root Dir: /var/lib/docker
... ...

Successivamente, puoi estrarre un'immagine Docker per l'ultima distribuzione di Ubuntu, eseguirla e accedere a Ubuntu come utente della riga di comando.

$ docker pull ubuntu
... ...
$ docker run -it ubuntu bash
root# ... enter commands ...

Docker
  1. Come creare un file server personale con SSH su Linux

  2. Come costruire un Flatpak

  3. Come aggiornare Raspberry Pi

  4. Come installare il media server Serviio su Raspberry Pi

  5. Come creare un backup

Come installare Jellyfin Media Server su Ubuntu 20.04 LTS Server/Desktop

Come installare Plex Media Server su Ubuntu 20.04 LTS Server/Desktop

Come installare il sistema operativo Raspbian su Raspberry Pi

Come installare Ubuntu Server su un Raspberry Pi

Come caricare un file sul server

Come installare Monica Personal Relationship Management su Ubuntu