Put it online
Publish the site on Vercel, on any server that runs Node.js, or as a Docker image.
Before you deploy
Set NEXT_PUBLIC_SITE_URL to the address the site will have, such as https://www.your-domain.com. It is compiled into the site when it is built, so it has to be set where the build runs, not only where the site runs.
Nothing else is required: there is no database and no secret.
- Connect the forms you keep to your own service. Until then they show a success message and send nothing.
- Replace the sample content: the texts, figures, testimonials, company logos, contact details and blog posts.
- Have the four legal pages reviewed for your business. They are sample text.
Vercel
Put the folder in a private Git repository
Push the
Nextjs-landing-page-template-2folder to a private repository on GitHub, GitLab or Bitbucket. Your licence does not allow sharing the source code publicly. The download already has a.gitignorethat keeps outnode_modules, the build and your.envfiles.Import it in Vercel
In Vercel, add a new project from that repository. It detects Next.js; keep the default build settings.
Add the environment variables
Under the project's Environment Variables, add
NEXT_PUBLIC_SITE_URLwith your address, andENABLE_EXPERIMENTAL_COREPACKwith the value1so Vercel installs with the Yarn version thatpackage.jsonpins.Deploy
Start the deployment, then add your domain in the project's Domains settings.
Expected result: Your domain opens the home page.
After you change a variable, deploy again: the running site keeps the values it was built with.
Any server with Node.js
On a server with Node.js 20.9 or newer, copy the folder, then install, build with your address and start:
Nextjs-landing-page-template-2corepack enable
yarn install
NEXT_PUBLIC_SITE_URL=https://www.your-domain.com yarn build
yarn startYou can also put the value in a .env.local file in the folder before yarn build. The site answers on port 3030. Put a web server such as Nginx or Caddy in front of it for your domain and HTTPS, and keep yarn start running with a process manager or a system service.
Hosts that choose the port
yarn start always listens on 3030, even when the host sets a PORT variable. On a host that gives you a port, make the start command yarn start -p $PORT.
A Docker image
The Dockerfile builds a small image that serves the site with Node.js on port 3030, as a user without admin rights. Pass your address when you build it, then run it in the background so it restarts with the server:
Nextjs-landing-page-template-2docker build -t analytics-landing --build-arg NEXT_PUBLIC_SITE_URL=https://www.your-domain.com .
docker run -d --restart unless-stopped -p 3030:3030 analytics-landingAny host that runs a Dockerfile can build it as it is. Put a web server in front of port 3030 for your domain and HTTPS, as for Node.js.
After it is online
- Open your address with
/enand/arand check both languages. - Open
/sitemap.xmland/robots.txt. Every address in them must start with your domain, notlocalhost. If one does not,NEXT_PUBLIC_SITE_URLwas not set when the site was built.