How I run a multilingual eSIM store from a home server (Medusa v2 + Next.js)
Описание и применение
Автор создал многоязычный магазин eSIM, используя Medusa v2, Next.js и PostgreSQL, размещенный на домашнем сервере через Tailscale. Он реализовал локализованные страницы, доставку QR‑кодов по email и Zalo, а также обеспечил однократное использование QR‑кодов и собственное управление операциями.
Задача
Running a multilingual eSIM store requires handling multiple languages, localized content, diverse delivery channels, and secure QR code management while keeping operations self-hosted.
Результат
The store now supports multiple languages with localized content, delivers eSIM QR codes via email or Zalo, ensures QR codes are never reused, and runs cost‑effectively on a home server with full operational control.
Рабочий процесс
- Set up Medusa v2 as headless commerce backend
- Create Next.js App Router storefront
- Configure PostgreSQL database
- Deploy both services on a home Linux machine and expose via Tailscale
- Integrate Stripe for card payments and QR bank‑transfer for Vietnamese customers
- Develop locale‑specific pages and content for Vietnamese, English, Nepali, Sinhala, Bengali, Indonesian, German, etc.
- Implement QR code pool with one‑time use enforcement
- Add Zalo integration for QR delivery to older Vietnamese customers
- Create deploy script and log for self‑hosting maintenance
Доказательства
Medusa gives me carts, orders, promotions and an admin UI out of the box. Everything specific to eSIM, like QR delivery and multilingual landing pages, I build on top.
The store has pages in Vietnamese, English, Nepali, Sinhala, Bengali, Indonesian, German and more. Each community searches with different words and worries about different things, so each locale gets content written for it, not a translated copy.
Many older Vietnamese customers rarely check email but use Zalo every day, so eSIM QR codes can be delivered through Zalo as well as email.
QR codes come from a pool. Once a code is issued it is marked as used and can never be sent again.
Deploys, backups and monitoring are all on you. A deploy script and a deploy log help a lot; offsite backups are next on my list.
- Дата записи: 2026-11-03T21:13:48.682Z