Deploy a Next.js app

Next.js is the React framework for server-rendered and static apps. This guide deploys a Next.js app on Eurobase, on European infrastructure, in one of three ways:

One-click deploy from a template

The template is a minimal Next.js app that deploys without configuration. Copy it to your GitHub account, then create a Eurobase project from your copy.

Deploy from a GitHub repo

  1. Create an account and connect GitHub: open GitHub in the sidebar and install the Eurobase GitHub App on your repository. Private repositories work.
  2. In Projects, select New project. The project name becomes your address, <name>.eurobase.dev.
  3. Choose the repository. In a repository with several apps, choose the root directory of this one.
  4. Eurobase detects Next.js and runs it on V8 isolates. There is no build or start command to set.
  5. Select Save and Deploy. Your app goes live once it passes its check.

Deploy with your coding agent

Connect your agent to the Eurobase MCP server once. In Claude Code:

claude mcp add --transport http eurobase https://api.eurobase.dev/mcp

In Codex:

codex mcp add eurobase --url https://api.eurobase.dev/mcp
codex mcp login eurobase

Signing in opens Eurobase in your browser, where you choose the projects the agent may use and what it can do. Cursor, Zed and VS Code are on AI agents.

Then, in your repository, ask:

Deploy this project on Eurobase.

The agent creates the project, starts the first deployment and follows it until your site answers at <name>.eurobase.dev. Secrets never pass through the agent: add them in the project's Secrets.

How Eurobase runs Next.js

Eurobase builds the app with OpenNext (@opennextjs/cloudflare) and runs it in V8 isolates. An isolate is a light sandbox inside a running engine, not a whole machine, so the app starts fast and costs nothing while it waits for requests. Static assets and server routes share your project's one address.

The build installs exactly what your lockfile lists and needs next 14.2.35 or later. If your repository has no Wrangler config, Eurobase adds the adapter during the build; your repository isn't changed. Before a release goes live, Eurobase renders a few of its pages, and a failing render keeps the previous release serving. Details and limits are on Workers.

Before you deploy

  • Commit exactly one lockfile: package-lock.json, pnpm-lock.yaml, yarn.lock or bun.lock.
  • Secrets reach your code when it runs, not during the build. Values the build needs must come from your repository.
  • A Worker can call other services with fetch() over HTTPS, but can't open TCP connections, so Postgres or MySQL drivers that use their wire protocol can't connect. Use an HTTP API, such as Supabase.
  • A custom Node server, such as node server.js or an Express wrapper, makes the project a container instead; see Deploy a Node.js server. next start doesn't count.

Next steps

  • Every push to the project's branch deploys again; roll back from Deployment history. See Getting started.
  • Connect your own domain from Domains in the sidebar.
  • Add a database with Eurobase + Supabase.
  • Read every request in the project's Logs.