nuartz is a Next.js application that supports both static export (GitHub Pages) and server-side deployment (Vercel, Netlify). See the full hosting guide for all options including GitHub Pages.
- Your nuartz project is pushed to a GitHub repository.
- The
content/directory is committed to the repo (not gitignored).
Deploy to Vercel
1. Push to GitHub
Make sure all your content and configuration is committed:
git add .
git commit -m "initial content"
git push2. Import the repository in Vercel
- Go to vercel.com/new and click Add New Project.
- Select Import Git Repository and choose your nuartz repo.
- Vercel auto-detects Next.js — leave the framework preset as Next.js.
- Leave the root directory as
./(orapps/webif you use the monorepo layout).
3. Set the environment variable
In the Environment Variables section before deploying, add:
| Name | Value |
|---|---|
NEXT_PUBLIC_SITE_URL | https://your-domain.vercel.app |
Update this to your custom domain once you have one.
4. Deploy
Click Deploy. Vercel builds the project with next build and publishes it. Your site is live at <project>.vercel.app within a minute or two.
Every push to the main branch triggers a new production deployment automatically. Pull requests get preview deployments at unique URLs.
Custom domain
- Go to your project in the Vercel dashboard and open Settings > Domains.
- Enter your domain and follow the DNS instructions.
- Update
NEXT_PUBLIC_SITE_URLto match the new domain and redeploy.
Content updates
Because content/ is part of the repo, updating your notes is just a git push:
# edit content/notes/my-note.md
git add content/
git commit -m "update notes"
git pushVercel picks up the push and rebuilds automatically.
nuartz reads content files from disk at build time. If content/ is gitignored, the build will produce an empty site.
Local production preview
Test the production build locally before deploying:
bun run build
bun run startOpen http://localhost:3000 to verify everything looks correct.
Related
- Getting Started — local development setup
- Configuration —
nuartz.config.tsreference - Private Pages — exclude draft content from builds