Skip the auth boilerplate. Ship your idea faster.
Get enterprise-grade authentication, user management, and database security out of the box. No more coding login flows, password resets, or user profiles. Focus on the unique business logic of your app while standing on the shoulders of giants.
- 🔐 Complete Authentication: Login, logout, password reset, user profiles
- 👤 User Management: Add, remove, edit users for your app
- 🛡️ Row Level Security: User-scoped data isolation at the database level
- 🌐 SSL for Development: Automatic certificates, no browser warnings
- 🐳 Container-First: Consistent development environment
- ⚡ Zero Config: From idea to running app in 3 commands
# 1. Create your project
bun x nuxi init -t github:MichaelSchmidle/NuxtShip@latest my-awesome-app
# 2. Configure (see .env.example for details)
cd my-awesome-app
cp .env.example .env
# 3. Initialize everything
bun run initYour app runs at https://app.localhost with full authentication ready. Use .localhost subdomains for zero-config setup, or configure custom domains in .env.
bun run dev # Local Nuxt development with containerized infrastructureThis approach gives you the best of both worlds:
- Fast development - Native Node.js performance, instant hot reload
- Consistent infrastructure - Database, authentication, and proxy services run in containers
- No "works on my machine" - Infrastructure is identical across all environments
# Infrastructure management
bun run infra:start # Start all containers
bun run infra:stop # Stop all containers
bun run infra:restart # Restart infrastructure
bun run infra:logs # View container logs
bun run infra:status # Check container status
# Database operations
bun run db:generate # Generate database migrations
bun run db:migrate # Run database migrations
bun run db:studio # Open Drizzle Studiomy-awesome-app/
├── app/ # Your Nuxt application
├── deployment/ # Infrastructure configuration
│ ├── docker-compose.yml # Base services
│ ├── docker-compose.dev.yml # Development overrides
│ └── scripts/ # Setup automation
├── server/ # API and database
└── .env # Configuration (see .env.example)
- User visits your app
- Redirected to Zitadel for secure authentication
- PKCE flow ensures token security
- User returns with valid session
After setup:
https://app.localhost(or your custom app domain): Your applicationhttps://auth.localhost(or your custom auth domain): Authentication providerhttps://proxy.localhost:8080(or your custom proxy domain): Traefik dashboard
bun run typecheck # Type checking
bun run lint # Code linting
bun run lint:fix # Auto-fix issues
bun run check # Run all checks- Fork this repository
- Make your changes
- Test with
bun run init - Submit a pull request
MIT License - see LICENSE file for details.
Made with ❤️ and Node.js, Docker, Bun, mkcert, Nuxt, Traefik, Zitadel, PostgreSQL, Drizzle, Nuxt UI, nuxt-oidc-auth, and Phosphor Icons.