Skip to the article
Aniq-UI

SaaS TemplatePut it online

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

  1. Put the folder in a private Git repository

    Push the Nextjs-landing-page-template-2 folder to a private repository on GitHub, GitLab or Bitbucket. Your licence does not allow sharing the source code publicly. The download already has a .gitignore that keeps out node_modules, the build and your .env files.

  2. Import it in Vercel

    In Vercel, add a new project from that repository. It detects Next.js; keep the default build settings.

  3. Add the environment variables

    Under the project's Environment Variables, add NEXT_PUBLIC_SITE_URL with your address, and ENABLE_EXPERIMENTAL_COREPACK with the value 1 so Vercel installs with the Yarn version that package.json pins.

  4. 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:

Terminalin Nextjs-landing-page-template-2
corepack enable
yarn install
NEXT_PUBLIC_SITE_URL=https://www.your-domain.com yarn build
yarn start

You 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:

Terminalin Nextjs-landing-page-template-2
docker 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-landing

Any 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 /en and /ar and check both languages.
  • Open /sitemap.xml and /robots.txt. Every address in them must start with your domain, not localhost. If one does not, NEXT_PUBLIC_SITE_URL was not set when the site was built.

Stuck on a step?

Find a fix before you start over.

Troubleshooting

Cookie Preferences

We use cookies to enhance your browsing experience, analyze site traffic, and personalize content. By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising.