Nuxt Guestbook is a boilerplate/demo application built with Nuxt that demonstrates server-side rendering on the edge, GitHub OAuth authentication, and SQLite database storage via Cloudflare D1.
What is Nuxt Guestbook?
Nuxt Guestbook is an open-source example application built with Nuxt that shows how to combine server-side rendering on the edge, GitHub OAuth authentication, and persistent SQLite storage in a single project. The app runs on Cloudflare Pages through NuxtHub, uses Cloudflare D1 as its production database, and accepts visitor messages that are displayed on a public guestbook page. The project is distributed under the MIT License and includes a live demo at nuxt-guestbook.pages.dev.
Key Features
- Edge server-side rendering — Nuxt renders pages on Cloudflare's edge network, reducing latency for global visitors; enabled by NuxtHub.
- GitHub OAuth authentication — Uses nuxt-auth-utils to add login via GitHub; requires creating an OAuth app and setting NUXT_OAUTH_GITHUB_CLIENT_ID and NUXT_OAUTH_GITHUB_CLIENT_SECRET.
- Cloudflare D1 database — SQLite database managed by drizzle ORM, with migrations included; ideal for applications needing durable key-value-style or relational data at the edge.
- Nuxt UI and Nuxt UI Pro — Interface components come from Nuxt UI, with optional Nuxt UI Pro license for advanced components.
- Sealed session encryption — Configures a signed and encrypted session cookie via NUXT_SESSION_SECRET, which must be at least 32 characters.
- One-command deployment — Runs
npx nuxthub deployto publish the app to your Cloudflare account; also supports Cloudflare Pages CI. - Live demo — The README links to a working deployment at nuxt-guestbook.pages.dev.
Who is it for?
Nuxt developers who want to see a minimal but complete integration of edge SSR, SQLite, and authentication in one codebase. Full-stack developers working with Cloudflare D1 who need a reference for drizzle ORM migrations and query patterns. Also for teams evaluating NuxtHub as a deployment platform for their Nuxt projects. Beginners can use it to learn how to configure GitHub OAuth and session handling in Nuxt.
What can you do with Nuxt Guestbook?
- Nuxt developers: Study the code to learn how to set up edge SSR, authentication, and database migrations in a single Nuxt application.
- Cloudflare Pages users: Deploy a working full-stack application to Cloudflare's edge with one command and inspect server logs in the NuxtHub Admin dashboard.
- App builders: Use the guestbook pattern as a starting point for any user-generated content feature, such as comments, testimonials, or feedback forms, by replacing the message model with your own schema.
How does it work?
After cloning the repository, install dependencies with pnpm i, create a GitHub OAuth application with homepage and callback URLs pointing to localhost:3000, then add the required environment variables to a .env file, including NUXT_OAUTH_GITHUB_CLIENT_ID, NUXT_OAUTH_GITHUB_CLIENT_SECRET, and a NUXT_SESSION_SECRET of at least 32 characters. Run npm run dev to start the development server. For production, set the build command to npm run build and the output directory to dist/, then deploy with npx nuxthub deploy.
FAQ
What database does Nuxt Guestbook use?
It uses Cloudflare D1, which is a SQLite database designed to work with Cloudflare's edge network. The README explains that database schema is managed through drizzle ORM migrations, so you can version and apply schema changes just like in a traditional SQL database.
How do I deploy Nuxt Guestbook to Cloudflare Pages?
Use npx nuxthub deploy to deploy directly from your local machine to your Cloudflare account. Alternatively, you can set up Cloudflare Pages CI using the build command npm run build and the output directory dist/.
Does Nuxt Guestbook require a Nuxt UI Pro license?
The project uses both Nuxt UI and Nuxt UI Pro. The README includes a NUXT_UI_PRO_LICENSE environment variable, indicating that a Nuxt UI Pro license key is required to run the full component set. Without a license, you may need to replace or remove those components.
Is the project open-source?
Yes, the repository is released under the MIT License, so you can freely use, modify, and distribute the code for personal or commercial purposes.








