lobsite! Iniciar sesión Registrarse

Docs

Inicio rápido

En un proyecto compilado, ejecuta un comando. No necesitas cuenta: el sitio dura 6 horas, salvo que inicies sesión y lo reclames.

npx lobsite

La carpeta es el argumento, dir en lobsite.toml, o la primera que exista de dist/, build/, out/, _site/, public/. Solo se suben los archivos cambiados.

Agentes de IA

Los agentes de programación (Claude Code, Cursor, Codex y otros) despliegan con el mismo comando. Bajo un agente, la CLI nunca hace preguntas, y su salida termina con una línea «Tell the user:» con la URL y, para un sitio sin cuenta, el enlace para reclamarlo y conservarlo.

npx -y lobsite --yes

También hay un servidor MCP para agentes de programación, uno remoto para ChatGPT y Claude.ai, y un comando curl para sandbox sin Node. Configura tu agente.

Arrastrar y soltar

Inicia sesión y suelta una carpeta o un zip en cualquier parte del panel. Antes de subir nada se hacen las mismas comprobaciones; los archivos secretos siempre se dejan fuera.

lobsite.toml

site = "quiet-fox-4821"
dir  = "dist"
spa  = false            # true: paths that aren't files open index.html

[[redirects]]
from   = "/blog/:slug"
to     = "/posts/:slug"
status = 301            # 301 | 302 | 307 | 308

[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"

[forms.contact]
required = ["email", "message"]
redirect = "/thanks"

Las claves desconocidas son un error, con una sugerencia de la clave válida más parecida. La configuración viaja con cada deploy, así que un rollback la restaura.

Aplicaciones de una sola página

Las apps con enrutado del lado del cliente, como React Router, Vue Router o TanStack Router, tienen un único index.html y dibujan cada página en el navegador. Abrir /dashboard/settings directamente, o recargarla, pide al servidor un archivo que no existe. El modo de una sola página responde a esas rutas con tu index.html, y el router de la app toma el control. Hay tres formas de activarlo:

  • spa = true en lobsite.toml. Viaja con cada deploy, así que un rollback lo restaura. Necesita lobsite 0.1.8 o posterior; las versiones antiguas se detienen con «Unknown key».
  • Aplicación de una sola página en los ajustes del sitio, en el panel. Es la opción para sitios que subes arrastrando, ya que una carpeta soltada no envía lobsite.toml. Es un ajuste del sitio, así que se mantiene igual entre deploys y rollbacks.
  • Un 200.html en la raíz del sitio. Se sirve en lugar de index.html y funciona con cualquier versión de la CLI y con arrastrar y soltar. Así lo hace Surge.

Con Vite (React, Vue, Svelte o Solid), añade el ajuste y despliega dist/ como siempre:

npm run build
npx lobsite

Solo las peticiones de páginas reciben la app: una ruta cuya última parte no tiene extensión (/dashboard, /users/42), o cualquier petición de un navegador que pide HTML (/users/jane.doe). Un archivo que falta, como /assets/index-3f9a.js, recibe un 404 de verdad. Eso importa justo después de un deploy: un visitante que aún tiene abierta la versión antigua recibe un error claro para el script antiguo, no tu HTML en su lugar.

El sitio tiene Una página que falta (/dashboard) Un archivo que falta (/old.js)
nada «Not found» de Lobsite, 404 «Not found» de Lobsite, 404
404.html 404.html, 404 404.html, 404
modo de una sola página index.html, 200 «Not found» de Lobsite, 404
modo de una sola página y 404.html index.html, 200 404.html, 404
200.html (con o sin el ajuste) 200.html, 200 404.html si existe; si no, «Not found», 404

Si vienes de Netlify, la regla de _redirects /* /index.html 200 equivale a spa = true; si vienes de Vercel, un rewrite de /(.*) a /index.html es lo mismo.

.lobsiteignore

Los archivos que coinciden con un patrón de .lobsiteignore no se despliegan. La sintaxis es la misma que en .gitignore:

drafts/
*.psd
/notes.txt
!keep.psd

El archivo se lee de la carpeta desplegada y de la raíz del proyecto (junto a lobsite.toml); los patrones del archivo de la raíz son relativos a la raíz. .git, node_modules, .DS_Store y el propio .lobsiteignore siempre se dejan fuera.

Los archivos secretos (.env*, claves privadas como *.pem e id_rsa, .npmrc, .netrc y similares) detienen un deploy hasta que se quitan o se ignoran. En una terminal, la CLI ofrece añadirlos a .lobsiteignore y desplegar sin ellos.

Formularios

<form action="/_lobsite/forms/contact" method="POST">
  <input name="email" type="email" required>
  <textarea name="message" required></textarea>
  <button>Send</button>
</form>

Los formularios se detectan al desplegar. La protección contra spam (un campo trampa, control de tiempo y límites de frecuencia) se añade por ti. Los envíos llegan a la página Envíos de tu panel y a tu correo. Más sobre formularios: ejemplos, envío con JavaScript, frameworks y ajustes.

En el plan gratuito, los formularios funcionan en modo limitado: una cuota mensual por sitio, avisos solo al correo de tu cuenta y sin webhooks. El plan Standard añade webhooks, cualquier dirección de aviso verificada y una cuota mayor.

Dominios propios

Los dominios propios vienen con todas las cuentas, incluida la gratuita. lobsite domain add www.example.com imprime el registro que hay que añadir: un CNAME a cname.lobsite.app. Los certificados se emiten y renuevan por ti. Si otra cuenta también añadió el dominio, un registro TXT demuestra que es tuyo.

Vistas previas y rollback

Cada deploy tiene su propia URL, <id>--<site>.lobsite.app. lobsite deploy --preview no toca producción; lobsite rollback y lobsite promote cambian el deploy publicado sin subir nada.

CLI

lobsite [dir]Desplegar una carpeta (el comando por defecto)
lobsite deploy --previewSubir sin cambiar producción
lobsite deploysListar los deploys guardados
lobsite rollback [id]Volver a publicar un deploy anterior
lobsite promote <id>Publicar cualquier deploy
lobsite login / logout / whoamiTu cuenta
lobsite claim [site]Conservar un sitio anónimo
lobsite account [use <email>|me]Cambiar a una cuenta de la que eres miembro
lobsite token create|ls|revokeTokens de CI para LOBSITE_TOKEN (Standard)
lobsite ls / open / rmTus sitios
lobsite domain add|status|rmDominios propios
lobsite forms ls / export <name> --csvEnvíos de formularios
lobsite mcpUn servidor MCP para agentes de IA

Límites

AnónimoFreeStandard
SitiosSin tope15
Archivos por sitio10010010.000
Por archivo5 MB5 MB100 MB
Tamaño del sitio50 MB50 MB2 GB
Almacenamiento—1 GB20 GB
Deploys por hora1030100
Deploys al día por sitio3Sin topeSin tope
Historial de deploysLive deploy only7 days30 days
Dominios propios por cuenta—15
Dominios propios por sitio—11
Ancho de banda1 GB10 GBUnlimited, fair use
Envíos de formularios al mes—25Unlimited
Analítica——Yes
Automatizaciones (Zapier, n8n)——Yes
Insignia «Powered by lobsite!»YesYesNo

Bandwidth is per month per account (per site lifetime for anonymous sites). At the limit, free and anonymous sites stop serving until the next month; on Standard there's no cap and sites keep serving: past 1 TB a month, we contact you.