Perche Fly.io E il Miglior Hosting Docker Gratuito Che Non Stai Usando

Fred· Full-Stack Developer8 min read

Piattaforma: Fly.io | Provider: Fly.io | Piano Gratuito: $5/mese di credito per sempre

Il Segreto di Cui Nessuno Parla

Ecco cosa rende Fly.io speciale: ti danno $5 di credito gratuito ogni singolo mese, per sempre. Non una prova, non un'offerta a tempo limitato - hosting permanente gratuito per i tuoi container Docker. Se il tuo utilizzo resta sotto i $5 (spoiler: lo sara per la maggior parte dei progetti), non paghi nulla.

Ancora meglio? A differenza di ogni altra piattaforma che afferma di essere "gratuita", Fly.io esegue i tuoi container Docker come vere VM. Questo non e serverless dove la tua app va in sleep dopo 5 minuti. I tuoi container restano attivi 24/7, rispondendo istantaneamente alle richieste.

Sto facendo girare tre API in produzione su Fly.io da oltre un anno. Costo totale? Zero euro. Ecco esattamente come farlo.

Cosa Ottieni Gratuitamente

Quei $5 di credito mensile si traducono in infrastruttura seria:

Ottieni tre VM con 256MB di RAM ciascuna, che girano ovunque nel mondo. Aggiungi un database PostgreSQL con 1GB di storage. Aggiungi 160GB di banda in uscita. Tutto questo sta comodamente nel tuo credito gratuito, con margine di riserva.

La matematica e semplice: una singola VM da 256MB costa circa $1.94/mese. Tre di queste piu un piccolo database ti portano circa a $5. Finche resti entro questi limiti, il credito mensile di Fly.io copre tutto.

Iniziare Richiede 5 Minuti

Prima, installa la CLI di Fly. Su Mac, e un singolo comando brew. Su Linux, usa curl con il loro script di installazione. Gli utenti Windows usano PowerShell. Il tutto richiede 30 secondi.

# macOS
brew install flyctl

# Linux
curl -L https://fly.io/install.sh | sh

# Windows
pwsh -Command "iwr https://fly.io/install.ps1 -useb | iex"

Registrati solo con un'email - ti chiederanno una carta alla fine, ma puoi deployare le tue prime app senza:

flyctl auth signup

Il Tuo Primo Deploy (E Ridicolmente Facile)

Ecco dove Fly.io brilla. Hai un Dockerfile? Ottimo, funzionera. Non ne hai uno? Fly.io lo capira da solo. Parlo sul serio - rileva il tuo framework e genera tutto automaticamente.

Lascia che ti mostri un esempio reale. Ecco un'API Node.js che ho deployato la settimana scorsa:

// index.js
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.json({
    message: 'This API runs 24/7 for free',
    timestamp: new Date().toISOString()
  });
});

app.get('/health', (req, res) => {
  res.json({ status: 'healthy' });
});

app.listen(port, '0.0.0.0', () => {
  console.log(`Running on port ${port}`);
});

Per deployare questo, ho letteralmente solo eseguito:

flyctl launch

E tutto. Fly ha rilevato Node.js, creato un Dockerfile, buildato l'immagine e deployato globalmente. L'intero processo ha richiesto circa 2 minuti. La mia API era live a un URL *.fly.dev, con HTTPS automatico, rispondendo alle richieste dal data center piu vicino.

Il Vantaggio Docker di Cui Nessuno Parla

Ecco cosa distingue Fly.io da Vercel, Netlify e il resto: stai deployando veri container Docker. Questo significa che puoi eseguire letteralmente qualsiasi cosa - script Python, binari Go, server Rust, applicazioni PHP, Ruby on Rails, quello che vuoi.

Ho un'API Flask Python che processa webhook, un bot Node.js che esegue task schedulati, e un servizio Go che gestisce il ridimensionamento immagini. Tutto gira sul piano gratuito. Prova a farlo sul piano hobby di Vercel.

I tuoi container girano come microVM Firecracker, la stessa tecnologia che Amazon usa per Lambda. Si avviano in millisecondi ma agiscono come server reali. Niente cold start, niente timeout di 10 secondi, niente limitazioni serverless. Solo il tuo codice che gira esattamente come ti aspetti.

Far Funzionare 256MB (E Piu Facile Di Quanto Pensi)

Il piano gratuito ti da 256MB di RAM per VM. So cosa stai pensando - e niente! Ma saresti sorpreso. Un'API Express.js leggera usa circa 50MB. Un'app Flask con pochi endpoint sta intorno agli 80MB. Anche una piccola app Rails puo entrare in 200MB se stai attento.

Ecco cosa gira bene su 256MB:

  • Backend API (REST o GraphQL)
  • Processori di webhook
  • Runner di job schedulati
  • Siti statici con funzionalita dinamiche
  • Bot Discord/Slack
  • Piccoli database con SQLite

Ed ecco cosa non funziona:

  • Next.js (servono almeno 512MB)
  • Applicazioni Django grandi
  • App Java Spring Boot
  • Qualsiasi cosa carichi grandi dataset in memoria

Se raggiungi i limiti di memoria, hai due opzioni. Prima, ottimizza il tuo codice - fai streaming dei file invece di caricarli in memoria, usa la paginazione per le query al database, lazy-load le dipendenze. La maggior parte dei "problemi di memoria" sono solo codice inefficiente.

Seconda opzione: scala a 512MB. Questo ti porta leggermente oltre il piano gratuito, costando forse $2-3/mese. Comunque piu economico di un caffe, e molto piu utile.

PostgreSQL Che Funziona e Basta

Aggiungere un database e stupidamente semplice:

flyctl postgres create

Scegli configurazione "Development" quando richiesto. Questo ti da un'istanza PostgreSQL con 256MB di RAM e 1GB di storage, perfetta per piccole app. Il database gira nella stessa regione della tua app per latenza minima.

Connettilo alla tua app:

flyctl postgres attach <database-name>

Questo imposta automaticamente una variabile d'ambiente DATABASE_URL. La tua app puo connettersi immediatamente:

const { Pool } = require('pg');
const pool = new Pool({
  connectionString: process.env.DATABASE_URL
});

// E tutto. Hai un database.

Sto facendo girare un blog con 500+ post, un sistema utenti con 1000+ account, e una dashboard di analytics che traccia 50k eventi - tutto sul database del piano gratuito. A meno che tu non stia costruendo il prossimo Twitter, 1GB e abbondante.

Diventare Globali Senza Sforzo

Deploya in piu regioni con un comando:

flyctl regions add lhr  # Londra
flyctl regions add nrt  # Tokyo
flyctl regions add syd  # Sydney

Fly.io instrada automaticamente gli utenti all'istanza piu vicina. I tuoi utenti europei colpiscono Londra, gli utenti asiatici colpiscono Tokyo, e tutto funziona e basta. Nessuna configurazione, nessun setup CDN, niente.

Con tre VM gratuite, puoi metterne una in ogni regione per copertura veramente globale. O tenerle tutte e tre in una regione per ridondanza - se una crasha, le altre continuano a servire richieste.

I Problemi (Non Ce Ne Sono Molti)

Siamo realistici sulle limitazioni. Il credito di $5 non si accumula di mese in mese. Usalo o perdilo. Ma onestamente, far girare tre piccole VM 24/7 usa tutto il credito comunque.

Alla fine dovrai aggiungere una carta di credito per sbloccare certe funzionalita come i domini personalizzati e per prevenire l'interruzione del servizio se superi il limite. Ma ecco la cosa - Fly.io ti manda un'email prima di addebitare qualsiasi cosa. Niente bollette sorpresa da $500 perche hai dimenticato di spegnere un server di test.

Il limite di 256MB di RAM e reale. Non puoi semplicemente buttargli codice inefficiente e aspettarti miracoli. Ma questo vincolo ti forza a scrivere codice migliore, e non e una cosa negativa.

Quando Usare Fly.io vs Tutto il Resto

Usa Fly.io quando vuoi server reali che non dormono mai. Perfetto per API, webhook, bot, e qualsiasi cosa che debba rispondere istantaneamente. Il supporto Docker significa che puoi eseguire qualsiasi linguaggio o framework.

Usa Vercel quando stai costruendo siti Next.js e vuoi quella perfetta esperienza sviluppatore. I loro preview deployment sono impareggiabili.

Usa Cloudflare Workers per funzioni edge che devono girare in 50+ location con zero cold start.

Usa Railway quando vuoi un'interfaccia piu bella e non ti dispiace pagare dal primo giorno.

Ma per mettere online un'app vera, gratuitamente, che resta attiva? Fly.io vince sempre.

Tocca a Te Deployare

Smetti di leggere e provalo. Sul serio, richiede 5 minuti:

  1. Installa la CLI
  2. Crea una semplice app (o usane una che hai gia)
  3. Esegui flyctl launch
  4. Guarda la tua app andare live

E tutto. Nessuna configurazione complessa, nessun inferno di yaml, nessuna sorpresa in fatturazione. Solo il tuo codice che gira su infrastruttura reale.

Costruisci Qualcosa da Deployare

Pronto a deployare la tua prima app su Fly.io? Inizia costruendo un progetto reale con questi tutorial pratici:

Ogni tutorial include configurazione Docker e passaggi di deployment, rendendo facile portare il tuo progetto dallo sviluppo alla produzione sul piano gratuito di Fly.io.

Hai gia un'app Flask? Segui il nostro tutorial completo di deployment Docker e Fly.io per istruzioni passo-passo su come containerizzare la tua applicazione Flask con PostgreSQL e deployare su Fly.io con migrazioni zero-downtime.


Dettagli Tecnici

Piattaforma: Fly.io Credito Mensile: $5 (copre 3 VM + database) Deployment: Container Docker come microVM Regioni: 30+ in tutto il mondo RAM per VM: 256MB (aggiornabile) Database: PostgreSQL con 1GB di storage Banda: 160GB/mese inclusi

Nota: Avrai bisogno di una carta di credito registrata dopo i test iniziali, ma non ti verra addebitato nulla se resti sotto i $5/mese di utilizzo.

Fred

Fred

AUTHOR

Full-stack developer with 10+ years building production applications. I've deployed applications to every major cloud platform and lived to tell the tale.

Need a developer who gets it?

POC builds, vibe-coded fixes, and real engineering. Let's talk.

Hire Me →