Linode (Akamai Cloud)
Distribuisci rtCloud su Linode utilizzando un StackScript. Non è necessaria alcuna configurazione: basta creare il server e seguire i passaggi successivi alla distribuzione.
Passaggio 1: avvia StackScript
Si apre la pagina StackScript in Linode Cloud Manager. Fare clic su Distribuisci nuovo Linode.
Passaggio 2: compila il modulo di Linode
Compila il modulo di creazione del server standard di Linode:
| Campo | Valore consigliato |
|---|---|
| Immagine | Ubuntu 22.04 LTS |
| Regione | Più vicino ai tuoi utenti |
| Piano | CPU condivisa 4 GB o superiore |
| Password di root | Imposta una password complessa |
| Firewall | Nessun firewall (consigliato) |
| Fuso orario (il nostro unico campo) | Il fuso orario del tuo server (predefinito: Asia/Ho_Chi_Minh) |
Perché nessun firewall? Lo script di installazione richiede l’accesso a Internet in uscita (pull Docker, Let’s Encrypt). Il blocco delle porte durante il primo avvio può causare il fallimento della distribuzione. Puoi collegare un firewall una volta completata la configurazione: consulta le Regole del firewall di seguito per le regole corrette.
Al termine, fai clic su Crea Linode.
Passaggio 3: attendi il completamento della configurazione
Lo script viene eseguito automaticamente al primo avvio. Installa Docker, estrae l’immagine rtSurvey, inizializza il database e avvia tutti i servizi. L’operazione richiede 5-10 minuti.
Puoi osservare i progressi direttamente in Linode Cloud Manager, senza SSH richiesto:
- Go to your Linode dashboard
- Fare clic sul Linode appena creato
- Fare clic su Avvia console LISH (in alto a destra nella pagina dei dettagli di Linode)
Si apre un terminale del browser che mostra il registro di avvio live: la scheda Weblish funziona direttamente nel tuo browser, non è necessario alcun client SSH.
Aspetta finché non vedi:
============================================================
rtSurvey deployment complete!
============================================================
Server IP : <your-server-ip>
App URL : http://<your-server-ip> (HTTP only until domain is set)
Admin : admin / admin
============================================================
Il registro mostra anche l’IP del tuo server: ti servirà per il passaggio successivo.
Passaggio 4: configura SSL
Open your browser at http://<server-ip>. The app will redirect you to the SSL setup screen.
Segui la Guida alla configurazione di SSL → per configurare HTTPS. Il sottodominio gratuito rtsurvey.com è l’opzione più veloce: non è necessaria alcuna configurazione DNS.
Passaggio 5: modifica la password predefinita
Per impostazione predefinita tutte le password sono “admin”. Modificateli subito dopo il primo accesso:
- Password amministratore app: impostazioni dell’account all’interno dell’app
- Keycloak admin — accessible at
https://your-domain.com/auth/admin(login:admin/admin)
Regole firewall (Linode Cloud Firewall)
Se colleghi un firewall Linode Cloud a questo server, utilizza le seguenti regole:
In entrata
| Etichetta | Azione | Protocollo | Porto | Fonti | Note |
|---|---|---|---|---|---|
accetta-in entrata-ssh | Accetta | TCP | 22 | Tutto IPv4, Tutto IPv6 | Accesso SSH |
accetta-in entrata-http | Accetta | TCP | 80 | Tutto IPv4, Tutto IPv6 | Nginx (sfida HTTP + ACME) |
accetta-in entrata-https | Accetta | TCP | 443 | Tutto IPv4, Tutto IPv6 | Nginx (HTTPS dopo la configurazione SSL) |
accetta-inbound-shiny | Accetta | TCP | 3838 | Tutto IPv4, Tutto IPv6 | Shiny Server (analisi R) |
accetta-inbound-icmp | Accetta | ICMP | — | Tutto IPv4, Tutto IPv6 | Ping/diagnostica |
| Politica in entrata predefinita | Goccia | Blocca tutto il resto |
In uscita
| Etichetta | Azione | Note |
|---|---|---|
| Politica in uscita predefinita | Accetta | Consenti tutto in uscita (pull Docker, certbot, API GoDaddy, ecc.) |
Porte NON necessarie esternamente
Queste porte sono vincolate solo a “127.0.0.1” e non sono mai raggiungibili dall’esterno del server:
| Porto | Servizio | Motivo |
|---|---|---|
| 8080 | Contenitore dell’app | Nginx lo proxy internamente |
| 8090 | Contenitore Keycloak | Nginx lo proxy internamente |
| 3306 | MySQL | Solo rete Docker interna |
Risoluzione dei problemi
Controlla il registro di configurazione
tail -200 /var/log/stackscript.log
Controlla il registro SSL
tail -200 /var/log/rtsurvey-ssl.log
Visualizza lo stato del contenitore
docker compose -f /opt/rtsurvey/docker-compose.production.yml ps