Ottenere una VPS gratuita per scopi di studio è un’opportunità preziosa per chi desidera imparare a gestire server, sviluppare applicazioni web o eseguire script in un ambiente cloud senza dover investire subito in costosi servizi di hosting. In questa guida, ti mostrerò un metodo semplice ed efficace per ottenere una VPS gratuita utilizzando GitHub e Ngrok, due strumenti potenti che ti permetteranno di creare e gestire un server virtuale direttamente dal tuo computer, senza costi aggiuntivi. Seguendo i passaggi che descriverò, potrai sfruttare al massimo le risorse gratuite disponibili per iniziare il tuo percorso nel mondo dei server e del cloud computing.
Avrai bisogno di registrarti su GitHub e Ngrok
Link registrazione GitHub: https://github.com/signup
Link registrazione Ngrok: https://dashboard.ngrok.com/signup
Primo passo per ottenere una VPS gratuita: crea un repository su GitHub
Completata la registrazione e login effettuato, crea una repository privata, con il nome che preferisci.
Collega Ngrok a GitHub
Per utilizzare Ngrok per esporre la tua applicazione locale a internet e integrarlo con GitHub, devi collegare Ngrok al tuo account tramite un authtoken. Questo ti permetterà di creare tunnel sicuri e personalizzati, ideali per testare e sviluppare il tuo progetto ospitato su GitHub.
Dopo aver effettuato l’accesso al tuo account Ngrok, vai alla dashboard.
Troverai il tuo authtoken nella sezione “Your Authtoken”. Questo token è unico per il tuo account e ti permetterà di autenticare il tuo client Ngrok.
Inserisci l’Authtoken di Ngrok su GitHub
Per garantire che il tuo authtoken di Ngrok sia utilizzato in modo sicuro all’interno dei tuoi workflow di GitHub Actions, è importante inserirlo come un segreto nei GitHub Actions Secrets and Variables. Questo permette al tuo workflow di accedere all’authtoken senza doverlo inserire direttamente nel codice, mantenendolo protetto.
Aggiungi un workflow alla repository
Una volta creato il tuo repository su GitHub, puoi aggiungere un workflow per automatizzare compiti ripetitivi, come l’esecuzione di test, la build del progetto, o il deploy su server. I workflow sono gestiti da GitHub Actions, uno strumento potente che consente di automatizzare numerose operazioni direttamente dal repository.
Inserisci questo:
name: CI
on: [push, workflow_dispatch]
jobs:
build:
runs-on: windows-latest
steps:
- name: Download
run: Invoke-WebRequest https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip -OutFile ngrok.zip
- name: Extract
run: Expand-Archive ngrok.zip
- name: Auth
run: .\ngrok\ngrok.exe authtoken $Env:NGROK_AUTH_TOKEN
env:
NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
- name: Enable TS
run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0
- run: Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
- run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1
- run: Set-LocalUser -Name "runneradmin" -Password (ConvertTo-SecureString -AsPlainText "P@ssw0rd!" -Force)
- name: Create Tunnel
run: .\ngrok\ngrok.exe tcp 3389
Salva e ritorna nella sezione Actions di GitHub e fai partire il workflow:
Collegati alla VPS gratuita
Dalla dashboard di Ngrok nella sezione degli enpoints troverai l’url per collegarti alla VPS
Usa questo indirizzo e collegati tramite rdp
4.tcp.ngrok.io:12613
come utente e password, precedentemente assegnati nel workflow:
runneradmin
P@ssw0rd!
E siete collegati 🙂
Ricordati che GitHub hai dei limiti su risorse che mette a disposizione gratuitamente!