Publica el sitio en internet
Los dos ajustes que debes hacer antes de compilar, y después Vercel, cualquier hosting con Node.js o la imagen de Docker.
Los dos ajustes
Los dos son opcionales. Sin Docker van en .env.local o en las variables de entorno de tu hosting.
| Variable | Por defecto | Qué hace |
|---|---|---|
NEXT_PUBLIC_SITE_URL | http://localhost:3030 | La dirección pública de tu sitio, sin barra final, como https://www.your-domain.com. Define el enlace canónico, los enlaces de idioma y las tarjetas de vista previa para redes sociales. |
NEXT_PUBLIC_API_BASE_URL | vacío | La dirección de la API que recibe el formulario de contacto. Vacío significa que el formulario no envía nada. |
Los dos son valores NEXT_PUBLIC_: la compilación los escribe en el JavaScript que carga el navegador. Defínelos antes de compilar y vuelve a compilar después de cambiar alguno. Nunca pongas un secreto en ellos: cualquier visitante puede leerlos.
Define tu dirección antes de la primera compilación pública
Sin NEXT_PUBLIC_SITE_URL, el enlace canónico, los enlaces de idioma y las tarjetas de vista previa apuntan a http://localhost:3030.
Vercel
Pon el código en un repositorio Git
La descarga no tiene historial de Git. Inicia uno en la carpeta, crea un repositorio vacío en GitHub, GitLab o Bitbucket y sube el código como indica su página.
Terminalenlanding-page-template-1git init git add . git commit -m "First version"Impórtalo en Vercel
En Vercel, elige Add New, luego Project, e importa el repositorio. Vercel detecta Next.js; mantén sus ajustes de compilación.
Añade los ajustes
En Environment Variables, añade
NEXT_PUBLIC_SITE_URLcon tu dirección, yNEXT_PUBLIC_API_BASE_URLsi tienes una API para el formulario de contacto. Añade tambiénENABLE_EXPERIMENTAL_COREPACKcon el valor1, para que Vercel instale con la versión de Yarn 4 que fija el proyecto.Despliega
Pulsa Deploy. Si más adelante cambias una variable, vuelve a desplegar para que el nuevo valor entre en la compilación.
Resultado esperado: Vercel abre tu sitio en su dirección
¿Tienes problemas?vercel.app. Añade tu propio dominio en Settings, luego Domains, y pon ese dominio enNEXT_PUBLIC_SITE_URL.
Cualquier hosting con Node.js
En un servidor o un hosting con Node.js 22 o posterior: define los dos valores en .env.local o en el entorno del hosting, y después instala, compila e inicia.
landing-page-template-1corepack enable
yarn install
yarn build
yarn startyarn startescucha en el puerto3030, diga lo que digaPORT. En un hosting que asigna el puerto a tu app enPORT, como Railway o Render, pon como comando de inicioyarn start -p $PORT.- Mantén el proceso en marcha con el gestor de procesos de tu hosting y pon delante un servidor web como Nginx o Caddy para tener HTTPS en tu dominio.
La imagen de Docker
La imagen que ejecutaste en local también sirve el sitio en producción. Pasa tus ajustes a la construcción, y omite la API si no tienes ninguna:
landing-page-template-1docker build -t agency-portfolio --build-arg NEXT_PUBLIC_SITE_URL=https://www.your-domain.com --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com .Después ejecútala en el servidor. -d la mantiene en segundo plano y --restart unless-stopped la vuelve a iniciar tras un reinicio:
docker run -d --restart unless-stopped -p 3030:3030 agency-portfoliodocker run -e NEXT_PUBLIC_SITE_URL=…no cambia nada: el valor se escribió durante la construcción. Vuelve a construir la imagen con el nuevo--build-arg.- Dentro del contenedor el sitio escucha en
3030. Apunta tu servidor web al puerto a la izquierda de-p.
Antes de publicar
- Pon tu dirección en
NEXT_PUBLIC_SITE_URL. - Sustituye el contenido de muestra: los proyectos, testimonios, precios, correo, teléfono y dirección son ejemplos.
- Da a los botones y a los enlaces sociales y legales destinos reales: vienen sin destino o como
#. - Conecta el formulario de contacto a tu API o quítalo: sin una API, los mensajes no llegan a ningún sitio.
- Cambia el autor en
generatordesrc/app/[locale]/layout.tsx, los nombres depublic/site.webmanifesty la imagen de vista previapublic/image.png.