Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Get started with NuxtHub Blob in seconds: an image gallery template with uploads, filters, carousel, and auth.
NuxtHub Image Gallery is a starter template for building an image gallery application with NuxtHub Blob storage, image filters, and password-protected uploads. It is built on Nuxt and runs on Cloudflare's edge network through NuxtHub.
NuxtHub Image Gallery is an open-source starter template provided by NuxtHub that demonstrates how to use the NuxtHub Blob storage API in a full app. It accepts image uploads through an admin panel protected by an admin password, stores them in cloud blobs powered by Cloudflare R2, and displays them in a custom carousel. It runs on Nuxt 3, uses NuxtUI v3 for interface components, and can be deployed to Cloudflare Pages or via the NuxtHub CLI.
These are the template's main capabilities, drawn from the README and stack:
hubBlob() composable to upload and list images, with an admin panel protected by the NUXT_ADMIN_PASSWORD environment variable (defaults to "admin").NUXT_SESSION_PASSWORD for session encryption (auto-generated in development if not set).The template suits developers and hobbyists who want a functional image gallery without building storage and auth from scratch.
Here are concrete tasks you can accomplish with this template:
The template follows the standard Nuxt development flow: clone the repository, install dependencies with pnpm (run corepack enable pnpm if pnpm is not installed), then start with pnpm dev. The admin panel is reached via the app and requires NUXT_ADMIN_PASSWORD (defaults to "admin" if not provided). For production deployment, run npx nuxthub deploy to deploy to Cloudflare for free with zero configuration, or set up Cloudflare Pages CI. Remote storage can be connected locally with pnpm dev --remote.
Here are answers to common questions about running and deploying NuxtHub Image Gallery.
No. The template itself is free and open-source, and NuxtHub lets you deploy to Cloudflare for free with zero configuration. Any Cloudflare R2 storage costs depend on your usage and Cloudflare's free tier.
It uses NuxtHub Blob, which is powered by Cloudflare R2. The hubBlob() composable handles listing and uploading blobs.
NUXT_ADMIN_PASSWORD sets the password for the admin panel and defaults to "admin". NUXT_SESSION_PASSWORD is used by nuxt-auth-utils for session encryption and is auto-generated in development mode if not provided.
Run npx nuxthub deploy from the project root to deploy to your Cloudflare account free of charge. NuxtHub also supports deploying via Cloudflare Pages CI; see the NuxtHub deployment documentation for options.
