De localhost a internet en 5 minutos
Tu web funciona en http://localhost:3000 y quieres un enlace real para compartir. Qué es el hosting, por qué localhost solo funciona en tu computadora y los comandos exactos para subir el proyecto a internet con HTTPS.
http://localhost:3000 significa "esta computadora, puerto 3000". Esa dirección solo funciona en tu máquina y solo mientras la terminal con npm run dev siga abierta. Para compartir la web necesitas una computadora siempre encendida y accesible desde internet (un servidor) y una dirección que apunte a ella. El hosting es alquilar eso, y desplegar es copiar tu proyecto ahí y arrancarlo.
En Skiffly el servidor, el certificado HTTPS y la dirección se configuran solos. Tú pones la carpeta.
Antes de empezar#
- El proyecto funciona en local (
npm run dev,npm start,python main.py…). - Tienes Node.js 20+ instalado (lo necesita el comando
npx skiffly, sin importar en qué esté hecho tu proyecto). - Una cuenta de Skiffly: regístrate gratis, sin tarjeta.
Súbelo a internet#
Detén npm run dev (Ctrl+C) y, en la misma carpeta del proyecto:
npx skiffly login # conecta esta computadora con tu cuenta (abre el navegador)
npx skiffly init # crea un proyecto para esta carpeta
npx skiffly up --yes # sube, compila y arranca el proyecto; ves el log del build
npx skiffly domain # te da la dirección públicaEl último comando muestra algo como https://mi-web-4f2a.skiffly.cloud. Ábrela en tu celular: esa es tu web, en internet, con HTTPS.
Cambia algo y actualiza la web#
Edita el código, pruébalo en local y luego:
npx skiffly upLa nueva versión reemplaza a la anterior en más o menos un minuto. ¿Quieres que pase solo? Sube el proyecto a GitHub y conecta el repositorio en el panel (New service → GitHub repo): cada git push se despliega.
Lo que funciona en local pero no en línea#
| En local | En línea |
|---|---|
un puerto fijo (app.listen(3000)) | escucha en process.env.PORT (Python: os.environ["PORT"]); los sitios estáticos no necesitan nada |
un archivo .env | .env no se sube: define los valores con npx skiffly variables set NOMBRE=valor o en la pestaña Variables del panel y luego npx skiffly up |
base de datos en localhost:5432 | crea una base de datos en el proyecto (New service → Template → PostgreSQL) y usa DATABASE_URL |
| archivos guardados en disco | el disco se reinicia en cada despliegue: agrega un volumen para las subidas o usa una base de datos |
npm run dev | en línea corre el build de producción (npm run build + npm start); comprueba antes que npm run build funcione en local |
Tu propio dominio#
mi-web-4f2a.skiffly.cloud sirve para probar y compartir. Para miweb.com, mira Compra un dominio y conéctalo: dos registros DNS y el HTTPS es automático.
Costos#
- Plan gratuito: una app y una base de datos, sin tarjeta, tu dominio propio incluido. Los sitios estáticos nunca se duermen; una app con servidor se duerme tras 10 minutos sin visitas y despierta con la siguiente (unos segundos).
- Hobby: 5 USD/mes con 5 USD de uso incluidos: apps siempre encendidas, todas las que necesites.
Los detalles están en Precios. Puedes pagar con tarjeta, PayPal o cripto.