Self hosting gratuito (con alcune limitazioni!) con Oracle Cloud

https://blogs.oracle.com/developers/install-run-discourse-for-free-in-the-oracle-cloud

Questo post del blog risale all’anno scorso. Non ho notato alcuna menzione qui; credo che Oracle, in quanto azienda di hosting, sia fuori dalla radar per la maggior parte delle persone.

Quindi, prima di pubblicare, ho deciso di provarlo io stesso per vedere se fosse davvero fattibile. Ho creato un sito demo:

https://www.opendiscussion.pw

Mi sono registrato per un account su Oracle Cloud. Era indicato che sarebbero serviti 15 minuti per la validazione dell’account, ma ho dovuto aspettare due giorni a causa di un problema con la mia carta di credito (viene richiesta una carta di credito per la validazione).

Ho seguito le istruzioni del post del blog e poi le normali istruzioni di installazione Docker per Discourse. Ha funzionato quasi al primo tentativo! Ho avuto un problema con la configurazione della posta elettronica. Penso che sia l’unica parte non spiegata correttamente nel post del blog. Ho dovuto leggere la documentazione. La documentazione di Oracle è molto buona.

Ecco cosa include questo livello:

  • 2 (due) VM
    La VM ha 1/8 di un OCPU con la possibilità di utilizzare risorse CPU aggiuntive. VM.Standard.E2.1.Micro. 2.0 GHz AMD EPYC 7551
    Memoria: 1 GB

  • Larghezza di banda: 10 TB

  • Archiviazione: volume block da 100 GB

  • Posta elettronica: 1.000 / mese (SMTP non incluso)

Da notare è che la configurazione fornita da Oracle include un disco da ~40 GB (per il sistema operativo e i dati utente) più una partizione swap da 8 GB. Non è necessario un file di swap. Inoltre, poiché è possibile ottenere due VM al livello “sempre gratuito”, separare il contenitore del database rappresenta un’opzione di scalabilità.

(Per qualche motivo, il servizio PaaS per database gratuito lì non è Postgres. :wink: )

Grazie per queste informazioni interessanti!

Anch’io ho avuto un problema. Ho provato più volte senza successo (messaggio della mia banca “codice di sicurezza errato”, anche se il codice era corretto).
Ho provato su un altro browser e ha funzionato, ho solo usato un altro indirizzo email… E ora sono già diverse ore che aspetto che il mio account venga validato.

È gratuito, ma il processo di registrazione è un po’ fastidioso… :sweat_smile:

Cosa c’era esattamente di sbagliato nella parte relativa all’email? Sono riuscito a installare Discourse su Oracle Cloud, ma non riesco in nessun modo a far funzionare la consegna delle email. Quando sto per registrare l’utente amministrativo sull’installazione di Discourse, non ricevo mai un’email.

Discourse-doctor riesce a contattare il server SMTP di Oracle, ma l’email non viene inviata.

Ho configurato diversi mittenti approvati, per sicurezza: il mio indirizzo email di amministratore, noreply@[dominio_forum] e noreply@[dominio_principale]. Quale è quello importante?

Ho anche aggiunto un record TXT alle impostazioni DNS del mio dominio con la stringa SPF consigliata.

È stato complicato. Se ricordo correttamente, ciò che ha funzionato per me è stato modificare containers/app.yml:

  ## Se vuoi impostare l'indirizzo email 'Da' per la tua prima registrazione, decommenta e modifica:
  ## Dopo aver ricevuto la prima email di iscrizione, ricommenta la riga. Deve essere eseguita solo una volta.
  - exec: rails r "SiteSetting.notification_email='noreply@opendiscussion.pw'"

Grazie per la risposta!

Purtroppo non ha funzionato (nemmeno dopo aver ricompilato l’app).

Posso chiederti come appaiono i tuoi record TXT?

Non hai nemmeno decommentato l’impostazione “START TLS”?

Allora, cosa hai fatto riguardo alla email? Devi pagarla? (perché hai detto che SMTP non è incluso)

SMTP è incluso. In passato non lo era in tutte le regioni. È semplicemente maledettamente difficile da configurare… :neutral_face:

Sai se esiste un registro SMTP da qualche parte in Oracle Cloud? Vorrei sapere perché l’email non viene inviata, nonostante riesca a contattare il server SMTP senza problemi. Perché non sono autorizzato o qual è il problema?

Oracle Cloud offre un servizio SMTP, ma non è incluso nel piano sempre gratuito. È molto economico (0,085 USD per 1000 email), quindi lo utilizzo comunque. Finora non mi hanno addebitato nulla.

https://www.oracle.com/cloud/networking/email-delivery.html#pricing

https://docs.cloud.oracle.com/en-us/iaas/Content/Email/Concepts/overview.htm

Scusa, hai ragione. Non avevo capito di essere stato inserito in una prova per la versione a pagamento, dato che mi ero iscritto al piano gratuito.

Esistono servizi SMTP gratuiti alternativi che funzionano con Discourse, mantenendo lo stesso Discourse su Oracle Cloud?

Credo che l’unico rimasto sia Pricing | Mailjet. È davvero un peccato che la mafia di Silicon Valley abbia rubato le email gratuite da internet :smiley:

Dopo 1 mese di tentativi per far funzionare il mio account di prova, con l’assistenza chat che ha dichiarato di non poter aiutarmi e l’assistenza via email che non ha offerto alcun aiuto, rispondendo solo una volta per dire che avrebbero raccolto alcune informazioni sul mio account e mi avrebbero ricontattato (cosa che non hanno mai fatto)…

Ho chiesto a un amico di aprire un account per me e ha funzionato alla perfezione in meno di 15 minuti.

Poi ho provato a installare Discourse e ho avuto molte difficoltà. Ho seguito la guida all’installazione di Discourse su Oracle, ma per qualche motivo non sono riuscito a connettermi alla porta 443.

Ho provato a installare Discourse su un’immagine Ubuntu standard, ma non sono riuscito a stabilire una connessione né sulla porta 80 né sulla porta 443, per motivi sconosciuti.

Sono tornato alle istruzioni ufficiali: all’inizio non funzionava (la connessione su entrambe le porte falliva), ma dopo aver riavviato Docker, magicamente la connessione è riuscita su entrambe le porte.

Quindi la mia esperienza non è stata delle migliori, sia che i problemi siano derivati da me o da Oracle.

Ma alla fine, ora ho un’installazione di Discourse gratuita, online, ovviamente non la più veloce, ma funzionante. :+1:t6:

Per chi vuole seguire lo stesso tutorial, c’è un piccolo errore nella sezione relativa al firewall del server.

Invece di:
sudo firewall-cmd —reload
bisogna scrivere:
sudo firewall-cmd --reload

Di default, non puoi installare Discourse perché le connessioni alle porte 80 e 443 non sono consentite. Devi abilitarle entrambe nell’elenco di sicurezza (nel pannello di controllo Oracle) e nel firewall dell’istanza (tramite SSH).

Ecco come fare su un’installazione standard di Ubuntu (è leggermente diverso dalla guida ufficiale che utilizza un’altra immagine Linux).

Nel pannello Oracle:

Dopo aver creato la tua istanza Ubuntu, vai su Dettagli istanza e clicca sul link della subnet:

Clicca sull’elenco di sicurezza:

Clicca su Aggiungi regole in ingresso, seleziona il protocollo TCP, imposta il CIDR di origine come 0.0.0.0/0 e l’intervallo di porte di destinazione come 80,443.
Conferma cliccando su “Aggiungi regole in ingresso”.

Verifica che le regole siano state aggiunte nell’elenco di sicurezza:

Nella riga di comando del server tramite SSH:

Aggiungi queste regole a iptables:

iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

Il comando aggiungerà le regole nel punto corretto. Se le aggiungi semplicemente alle regole esistenti senza specificare il numero di riga (5), non funzionerà perché verranno sovrascritte da una precedente regola “rifiuta tutto”.

Salva le regole in modo che rimangano attive anche dopo un riavvio:

netfilter-persistent save

Ora puoi installare Discourse! :tada:

Ciao, consigli Oracle Cloud per un sito in produzione con un carico di lavoro elevato?
Grazie

Penso che tu possa ospitare una piccola comunità se tu e i tuoi utenti non vi preoccupate molto della velocità del forum. Ma non lo raccomanderei, dato che puoi trovare un hosting economico (~5$/mese) con specifiche molto migliori.

@Hector, https://www.opendiscussion.pw è ancora ospitato su un server gratuito?

Ciao, per un hosting economico a circa 5$/mese intendi il droplet Digital Ocean da 5$?

Sì, per esempio.

Personalmente, mi piace Hetzner perché non è costoso e i loro server vengono fatturati a ore, il che è ottimo per provare cose per brevi periodi. Ma credo che abbiano server solo in Europa.

Sì, è ancora sul server gratuito. Non ha traffico, quindi non posso dire di cosa sia capace. Lo uso anche per lo sviluppo. Finora tutto bene.

Per Hetzner VPS dovrò installare anche LAMP, gestire gli aggiornamenti del server, fare attenzione agli hacker, ecc.?

Su Digital Ocean, invece, tutto è pronto: non devo proteggere il server, devo solo installare e gestire Discourse, vero? Questa è la vera differenza tra Digital Ocean e qualsiasi altro VPS?

Digital Ocean è come un VPS gestito?

Grazie!
Deb