OUORZ-MONO is an open-source monorepo that powers the personal website and academic profile at lipeng.ac, combining a Next.js main app, a WordPress headless CMS, Umami analytics, and a React UI toolkit under one repository.
What is OUORZ-MONO?
OUORZ-MONO is a monorepo containing the source code and Docker images for the personal website and academic profile of lipeng.ac, developed by ttttonyhe and released under GPL-3.0. It takes content from a WordPress REST API and renders it through a Next.js application using server-side rendering, static generation, and on-demand incremental static regeneration. The repository also includes a containerized WordPress setup, an Umami-based analytics app, and a React component library called Twilight Toolkit.
Key Features
- SSR/SSG/On-demand ISR — the main Next.js app supports server-side rendering, static generation, and on-demand incremental static regeneration using a revalidation request token.
- Command palette — a command-palette interface lets visitors search and navigate the site quickly.
- Redux + Redux Saga — state management relies on Redux Toolkit and Redux Saga, with swr for data fetching and caching.
- Nexment comment system — a LeanCloud-backed comment system is integrated into the main app for article discussions.
- Dynamic table of contents sidebar — posts display a scroll-synced table of contents in the sidebar.
- Personal dashboard — an authenticated dashboard area is included for site management.
- Dark mode — the UI toggles between light and dark themes.
- Monorepo tooling — uses Turborepo with remote caching and pnpm workspaces to manage the Next.js app, WordPress app, analytics app, and Twilight Toolkit packages.
Who is it for?
- Developers who want a production-grade monorepo example that combines a Next.js frontend with WordPress as a headless CMS.
- Personal website owners looking for a feature-rich blog/portfolio with comments, analytics, and a command palette out of the box.
- Academic researchers who need a profile site to present publications and research output, mirroring the lipeng.ac structure.
- Open-source contributors interested in exploring a well-structured monorepo with Cypress E2E tests, Storybook, and GitHub Actions.
What can you do with OUORZ-MONO?
- Publish content through the WordPress admin panel and see updates reflected on the Next.js frontend via on-demand ISR revalidation.
- Track visitors using the included Umami-based analytics app, which can be configured with MaxMind GeoLite2 for geolocation data.
- Extend the UI by building with Twilight Toolkit components, documented in Storybook at ui.twilight-toolkit.ouorz.com.
- Deploy to the cloud using Fly.io for the WordPress Docker image (with persistent volume mounting) and Vercel or Netlify for the Next.js app.
How does it work?
To set up the project, clone the repository, run pnpm install, and then follow the per-app setup instructions. The main app requires environment variables for LeanCloud, Sentry, and the revalidation request token; run pnpm run dev:main to start the Next.js server. The WordPress app builds a Docker image from wordpress:php8.0-apache, and the analytics app is configured with a DATABASE_URL, HASH_SALT, and MAXMIND_LICENSE_KEY.
Pros and cons
- Pros: Entirely open source under GPL-3.0; includes a full CI/CD setup with GitHub Actions; supports multiple deployment targets (Fly.io, Vercel, Netlify).
- Cons: Running the WordPress Docker image is extremely slow on lower-spec machines — at least 1 GB RAM without MySQL 8, or 2 GB with MySQL 8 is recommended; the WordPress app requires redeployment to update WordPress itself or add new themes/plugins.
Pricing
Free — the repository is open source under GPL-3.0, and no paid tiers or subscriptions are offered.
FAQ
Is OUORZ-MONO free?
Yes, OUORZ-MONO is open source and licensed under GPL-3.0. You can clone, modify, and deploy it for free, including for commercial projects if you comply with the license.
What technologies does OUORZ-MONO use?
The monorepo uses Next.js (with TypeScript) for the main app, WordPress with PHP and a custom theme as the headless CMS, Umami for analytics, and Tailwind CSS plus styled-components for styling. The build system is Turborepo with pnpm workspaces.
How do I deploy OUORZ-MONO?
The main app can be deployed to Vercel or Netlify by setting the root directory to apps/main and using the provided build commands. The WordPress app can be deployed with Fly.io, including optional multi-region volumes and managed Redis. The analytics app can be deployed separately.
Does OUORZ-MONO include a comment system?
Yes, the main app integrates Nexment, a comment system that uses LeanCloud as its backend. Comments are rendered on articles and managed through the Nexment service.
What are the system requirements for the WordPress Docker app?
The README warns that WordPress in Docker is very slow on low-spec machines. It recommends at least 1 GB of RAM without MySQL 8, or 2 GB of RAM with MySQL 8. Uploads are stored externally in Qiniu, similar to AWS S3.





