π Language: FranΓ§ais | English
Stop paying for expensive SaaS. Own your rental business software.
βοΈ Cloud β’ π Self-Host β’ β¨ Features β’ π Changelog
A customer picks their dates on your storefront β the request lands in your dashboard
| Storefront catalog | Reservation calendar | Inventory |
|---|---|---|
![]() |
![]() |
![]() |
β If Louez can replace a subscription for you, star the repo β it is how the next rental business finds it.
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.
Worked on the first try? Leave a β β it costs you a click and it is how the next rental business finds Louez instead of a β¬99/month subscription.
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)
- βοΈ Background removal included β a private worker built on MIT-licensed
rembgenables one-click product isolation without an API key - π 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
The lightweight image worker uses roughly 450 MB of RAM while loaded. Plan for at least 2 GB for the complete stack; 4 GB leaves comfortable production headroom.
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"Prefer a hosting panel to a terminal? Louez launches in one click β app, database and image storage together:
Or import the bundled Compose stack in EasyPanel, Dokploy, Coolify, CapRover or Portainer β it deploys the web app, MySQL, MinIO and the private background-removal worker together. The published image synapsr/louez still runs independently in single-store mode, but image isolation requires its companion synapsr/louez-background-removal service. See .env.example for the full configuration surface (S3 storage, SMTP, Stripe, AI, 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) |
|
BACKGROUND_REMOVAL_API_TOKEN |
Shared Bearer token when the image worker is publicly reachable | |
AI_IMAGE_OPENAI_API_KEY |
Enables optional GPT Image enhancement; local background removal is bundled | |
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.
GNU AGPLv3 β see LICENSE. Louez is free and open source.
β Free to use, self-host, and modify β forever β Free for commercial use β run your rental business on it β Contributions welcome β©οΈ If you modify Louez and offer it to others over a network, share your changes back under the AGPL
Trademark: "Louez" and the Louez logo are trademarks of Synapsr. The AGPL covers the code, not the brand.
The dashboard uses icons from Nucleo Β© Nucleo β see NOTICE. They are not covered by this repository's license and require a valid Nucleo license. The icon sources are not vendored here β they come from the official nucleo-glass npm package at install time. Don't extract or reuse these icons outside the app. Contributors must keep the total below 100 (tracked in packages/ui/src/icons/glass.tsx); self-hosters remain responsible for ensuring their use is licensed.
The background-removal image includes MIT-licensed rembg and the Apache-2.0 isnet-general-use model from DIS/IS-Net. Their attribution is recorded in NOTICE.
If Louez helps your business, show some love with a star.
Built with β€οΈ by Synapsr
Report Bug β’ Request Feature β’ Documentation


