π Language: FranΓ§ais | English
Stop paying for expensive SaaS. Own your rental business software.
βοΈ Cloud β’ π Self-Host β’ β¨ Features β’ π Changelog
See Louez in action β from setup to first booking
Whether you rent cameras, tools, party equipment, or vehicles β Louez gives you everything you need to run your rental business professionally.
π«π· "Louez" means "rent" in French β because great software deserves a name that speaks to its purpose.
| πΈ No Monthly Fees | π¨ Beautiful Storefronts | π Own Your Data |
|---|---|---|
| Self-host for free. No subscriptions, no per-booking fees. | Every store gets a stunning, customizable online catalog. | Your server, your database, your customers. |
| β‘ Deploy in Minutes | π Multi-language | π± Mobile Ready |
|---|---|---|
| One command and you're live β database included. | 8 languages built-in: EN, FR, DE, ES, IT, NL, PL, PT. | Responsive design for all devices. |
|
Don't want to manage servers? We handle hosting, updates, backups, emails, payments & the AI assistant for you. |
Want full control? Deploy on your own infrastructure. 100% free, forever. |
git clone https://github.com/Synapsr/Louez.git
cd Louez
docker compose up -dThat's it. Open http://localhost:3000, create your account, and set up your store. Your storefront goes live at the root of the site; your dashboard lives at /dashboard.
The bundled docker-compose.yml is a complete, self-contained deployment:
- ποΈ Database included β MySQL runs alongside the app, and the schema installs itself on first boot
- πΌοΈ Image storage included β a private MinIO bucket, served through the app (no extra ports, no CDN setup)
- π No secrets to generate β an auth secret is created and persisted automatically
- βοΈ No email server required β sign in with a password; plug in any SMTP provider later to enable outgoing email
- πͺ Single-store mode β the instance hosts your store, not a SaaS
Point a reverse proxy (Caddy, Nginx, Traefik) with TLS at port 3000 and set two variables in a .env file next to the compose file:
NEXT_PUBLIC_APP_URL="https://rentals.example.com"
AUTH_URL="https://rentals.example.com"The published image synapsr/louez runs in single-store mode by default β provide a MySQL database plus the variables above and it boots on EasyPanel, Dokploy, Coolify, Portainer or Railway. See .env.example for the full configuration surface (S3 storage, SMTP, Stripe, and more).
Louez can also run as a multi-store platform (the way louez.io does): one dashboard subdomain, one storefront per store subdomain. Set LOUEZ_MODE=platform plus the domain variables documented in .env.example.
β¬οΈ Upgrading an existing multi-store self-host? Add
LOUEZ_MODE=platformto your environment to keep subdomain routing β newer images default to single-store mode.
Everything you need to manage your rental business in one place.
| Feature | What it does | |
|---|---|---|
| π¦ | Products | Manage inventory with images, flexible pricing tiers, and stock tracking |
| π | Reservations | Handle bookings, track status, manage pickups & returns |
| ποΈ | Calendar | Visual week/month view of all your reservations |
| π₯ | Customers | Complete customer database with history |
| π | Statistics | Revenue charts, top products, occupancy insights |
| π | Contracts | Auto-generated PDF contracts |
| βοΈ | Emails | Automated confirmations, reminders & notifications |
| π¨βπ©βπ§βπ¦ | Team | Invite staff with role-based permissions |
Each rental business gets its own branded online store.
- π¨ Custom Branding β Logo, colors, light/dark theme
- π± Product Catalog β Filterable grid with real-time availability
- π Shopping Cart β Date selection, quantities, dynamic pricing
- β Checkout β Customer form, order summary, terms acceptance
- π€ Customer Portal β Passwordless login, reservation tracking
- π Legal Pages β Editable terms & conditions
Louez ships a full AI layer that works for your store around the clock.
- π¬ Storefront AI advisor β a chat assistant on your storefront that recommends the right gear from your live catalog, checks real availability for the customer's dates, answers questions about your hours and policies, and guides visitors all the way to booking. You brief it in plain language, like a new employee.
- π AI voice receptionist β an assistant that answers your store's phone line: it handles questions about products, prices and availability, takes booking requests you review from the dashboard, sends the caller an SMS recap, and can hand over to a human. Pick its voice (with audio preview), its language (8 supported), and whether it answers every call or only outside opening hours. You can even get a phone number without leaving the dashboard.
- ποΈ One control panel β configure both assistants, replay conversations and calls, and see which chats turned into reservations.
The AI assistant is available out of the box on Louez Cloud. Self-hosters can connect their own AI and telephony providers β the configuration lives in .env.example.
Want to customize or contribute? Here's how to run locally:
# Clone the repo
git clone https://github.com/Synapsr/Louez.git
cd Louez
# Install dependencies
pnpm install
# Configure environment (creates .env.local at root and in apps/web)
cp .env.example .env.local
cp apps/web/.env.example apps/web/.env.local
# Setup database
pnpm db:push
# Start dev server
pnpm devOpen http://localhost:3000 π
Built with modern, battle-tested technologies:
| Technology | Purpose | |
|---|---|---|
| β‘ | Next.js 16 | React framework with App Router |
| π | TypeScript | Type-safe development |
| π¨ | Tailwind CSS 4 | Utility-first styling |
| π§© | Base UI | Accessible UI primitives |
| ποΈ | Drizzle ORM | Type-safe database queries (MySQL) |
| π | better-auth | Authentication (password, email codes, Google) |
| βοΈ | React Email | Beautiful email templates |
| π | React PDF | Contract generation |
| π | next-intl | Internationalization |
π Environment Variables
The bundled docker-compose deployment configures all of the required variables for you. For custom deployments:
| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
β | MySQL connection string |
NEXT_PUBLIC_APP_URL |
β | Public URL of your app |
NEXT_PUBLIC_APP_DOMAIN |
β | Public domain of your app |
AUTH_URL |
β | URL users sign in from (usually the app URL) |
AUTH_SECRET |
Random secret (auto-generated by the compose deployment) | |
S3_* |
S3-compatible storage for images (bundled MinIO in compose) | |
LOUEZ_MODE |
standalone (default) or platform (multi-tenant routing) |
|
SMTP_* |
Outgoing email β optional; email features disable gracefully | |
AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET |
Google sign-in β optional | |
STRIPE_* |
Online payments β optional; storefronts fall back to booking requests |
Advanced integrations (AI providers, telephony, SMS, analytics, calendar syncβ¦) are documented in .env.example.
π Project Structure
louez/
βββ apps/
β βββ web/ # Next.js app (dashboard + storefronts + API)
β β βββ app/ # App Router routes
β β βββ components/ # Dashboard & storefront components
β β βββ lib/ # Business logic, email, PDF, AI
β β βββ messages/ # i18n translations (8 languages)
β βββ voice-relay/ # Optional streaming voice bridge (AI receptionist)
βββ packages/
β βββ api/ # oRPC routers & services
β βββ auth/ # better-auth configuration
β βββ db/ # Drizzle schema & migrations (MySQL)
β βββ email/ # Email transport & templates
β βββ ui/ # Shared UI components
β βββ ... # types, utils, validations, pdf, config
βββ docker/ # Production Dockerfiles & entrypoint
π§ Available Scripts
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run the linter
pnpm format # Format the codebase
pnpm type-check # Type-check the monorepo
pnpm db:push # Sync schema to database
pnpm db:studio # Open Drizzle Studio GUI
pnpm db:generate # Generate migrations
pnpm db:migrate # Run migrationsWe love contributions! Here's how you can help:
- π Report bugs β Found an issue? Let us know
- π‘ Suggest features β Have an idea? Open a discussion
- π§ Submit PRs β Code contributions welcome
- π Improve docs β Help others get started
# Fork & clone
git clone https://github.com/YOUR_USERNAME/louez.git
# Create branch
git checkout -b feature/amazing-feature
# Make changes & commit
git commit -m 'Add amazing feature'
# Push & open PR
git push origin feature/amazing-featureFound a vulnerability? Please report it responsibly.
π§ Email: security@louez.io
See SECURITY.md for our full security policy.
Apache 2.0 with Commons Clause β see LICENSE
β Free for personal and internal use β Modify and customize freely β Contributions welcome β Cannot sell as a commercial service without agreement
If Louez helps your business, show some love with a star.
Built with β€οΈ by Synapsr
Report Bug β’ Request Feature β’ Documentation