Secondo me, ti conviene aspettare il futuro Raspberry Pi 5, che – se si proietta in avanti l’evoluzione delle prestazioni dei Pi dal modello 2 al 3 e poi al 4 – dovrebbe avere potenza sufficiente per eseguire Discourse.
Non sono nemmeno sicuro che le dipendenze x86 (x64?) siano attualmente superabili, ma non è una cattiva idea esaminarle per il lungo termine.
Un cluster di Pi 4 con processore quad-core a 1,5 GHz a 64 bit e, possibilmente, dischi USB 3.0 per l’archiviazione (~300 MB/s) o un blob store esterno (S3 o GCP), con una CDN a protezione di quegli utenti anonimi, potrebbe essere un’alternativa di piattaforma praticabile Lo dirà il futuro!
Da solo, questo non è un numero particolarmente significativo.
Non hai specificato quale scheda microSD fosse, ma si colloca nello stesso ordine di grandezza di una Lexar Professional 1800x, che può mantenere velocità di lettura sequenziale di circa 300 MB/s e velocità di scrittura vicine ai 250 MB/s. Le letture e scritture sequenziali non sono il problema con le microSD; per avere un’idea reale di ciò che accadrà con più utenti che accedono al database e alle risorse locali, è necessario guardare alle letture/scritture casuali.
Gli SSD moderni si collocano solitamente nella fascia di 500 MB/s+ per le letture sequenziali e 475 MB/s+ per le scritture sequenziali, il che non è molto lontano dai numeri sopra riportati. La differenza di prestazioni nelle letture/scritture casuali è però enorme: lo stesso SSD può raggiungere fino a 400 MB/s con un test 4KiBQ8T8, mentre la Lexar scende a cifre basse a due cifre, intorno ai 15 MB/s. Le scritture casuali sono ancora peggiori: l’SSD mantiene fino a 300 MB/s, mentre una microSD scende ben nelle cifre basse a una cifra (2 MB/s).
Sono un grande fan del rPi e li uso in molti contesti, ma sono ancora lontani da dove dovrebbero essere.
È una scheda SanDisk da 64 GB da 20 USD (in Svezia), credo di classe A2. Volevo solo dimostrare che la velocità sequenziale pura non è così scarsa come hai fatto sembrare
Se non funziona sul rPi nemmeno con un SSD esterno collegato alle porte USB3, presumerei che eseguire il database esternamente risolverebbe quel particolare collo di bottiglia. Ma sono di parte, perché mi piace l’idea di mettere in piedi e far funzionare un cluster ARM con le nuove schede di rete reali da 1 Gbit/s sul Pi 4. Mi piace anche mettere in discussione in generale la mentalità del “non funziona”
Se investi abbastanza tempo, denaro e risorse in qualsiasi cosa, puoi farla funzionare.
Le richieste di eseguire Discourse su un Raspberry Pi negli ultimi anni provengono tipicamente da utenti che possiedono un Pi e non vogliono spendere altro oltre a quello. È esattamente ciò che stiamo esplorando qui.
Non appena inizi a collegare SSD esterni e a spostare il database su un sistema diverso, non stai più parlando di ospitare Discourse su un Raspberry Pi.
Prendi un Raspberry Pi 4 da 4GB o 8GB di RAM , poi procurati una MicroSD (INDUSTRIALE) su Amazon, eBay…
Scarica l’immagine da Docker dal sito: https://blog.hypriot.com/, precisamente nella sezione: Download, ultima versione.
Una volta scritta l’immagine sulla SD, inseriscila nel Raspberry Pi e connettiti via SSH (le credenziali predefinite per Docker SSH sono: “pirate” “hypriot” → Utente: pirate, Password: hypriot). Ovviamente, dopo la connessione SSH, modifica le credenziali a tuo piacimento tramite → sudo raspi-config, quindi riavvia il Raspberry.
Ho seguito le tue istruzioni, ho installato Hypriot, ecc., ma ho ottenuto il seguente errore:
$ ./launcher bootstrap app
standard_init_linux.go:211: exec user process caused "exec format error"
La tua installazione Docker non funziona correttamente
Vedi: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
A quanto pare ho sbagliato a dedurre che Massym sia riuscito a far funzionare Discourse su un Raspberry Pi 4; rileggendo il suo post, non lo afferma esplicitamente. Ho perso molto tempo inutilmente, ma è stato almeno un esercizio di apprendimento.
Quale componente specifico di Discourse non è supportato? Io e, sono sicuro, molti altri saremmo entusiasti di farlo funzionare.
Non vedo l’ora di vederlo funzionare. Uno dei miei forum, in esecuzione su Discourse, è l’ultimo elemento in sospeso mentre mi sposto verso un cluster Raspberry Pi 4, che consuma infinitamente meno energia rispetto al server basato su Intel.
Aggiornamento, ci sono stati progressi sul gem v8 per ARM? Ho provato a compilare le immagini, ma mi sono sempre bloccato su quel gem, è un po’ intricato: fallisce principalmente perché gli script cercano di scaricare strumenti X86_64 (per la compilazione) ed eseguirli su ARM…
ARM sui server (e in Ruby) farà enormi progressi molto presto grazie alla straordinaria chip M1 di Apple, finalmente disponibile su un vero laptop.
Ma il Raspberry Pi stesso — anche il molto migliorato modello 4 — è terribilmente sottopotenziato per fare da server. Come indicato in questo post e nei risultati di Speedometer 2.0…
3B+ Buster, kernel a 32 bit
9.49/9.66/9.46 = 9.54 Chromium
4B4 Buster, kernel a 64 bit (il 32 bit ha ottenuto risultati equivalenti)
17.2/17.0/17.1 = 17.1 Chromium
Smartphone OnePlus 7 Pro (Snapdragon 855, 8 GB RAM, Android/Oxygen OS 10)
36.3/35.9/36.8 = 36.3 Chrome
HP Chromebook x2 (dual core M3-7Y30)
68.2/68.6/68.0 = 68.3 Chrome OS 78
A breve, ho eseguito altre applicazioni Rails su RPi4 e sono rimasto soddisfatto delle prestazioni, ma devo ammettere che erano molto più semplici di Discourse.