为 lipeng.ac 和其他相关项目提供支持的源代码和 Docker 镜像
Antony-Nuxt (Nuxt.js / Vue.js v2) https://github.com/ttttonyhe/antony-nuxt →
安东尼 (Vue.js v2) https://github.com/ttttonyhe/antony →
托尼 (Vue.js v2 / PHP) https://github.com/ttttonyhe/tony →
SSR/SSG/按需ISR
命令面板
Redux + Redux Saga 状态管理
下一篇评论系统
动态目录侧边栏
个人仪表板
深色模式
超级固执己见,完全矫枉过正。
打字稿
框架
反应(Next.js)
基础/适配器实施即将推出
故事书
涡轮雷波
数据获取
无限加载
重新验证
悬念
驻波比
获取(API 路由)
状态管理
Redux 工具包
终极版传奇
造型:
样式组件
顺风CSS
内容管理:
WordPress(七牛-静态文件存储)
WP REST API(GraphQL 实施即将推出)
腾讯云云服务器(CentOS/Nginx/MySQL/PHP)
Nexment(精益云)
时事通讯(Listmonk)
错误记录和 Web Vitals 指标
哨兵
短绒棉
ESLint
更漂亮
提交Lint
持续集成/持续交付
Github 操作
韦尔塞尔
git 克隆 [email protected]:ttttonyhe/ouorz-mono.git pnpm installcd apps/main
使用您的配置创建一个.env
文件,请参阅下面的该项目中使用的环境变量列表:
精益云:
NEXT_PUBLIC_LC_KEY
NEXT_PUBLIC_LC_ID
哨兵:
NEXT_PUBLIC_SENTRY_DSN
SENTRY_AUTH_TOKEN
哨兵项目
SENTRY_ORG
按需 ISR:
REVALIDATION_REQUEST_TOKEN
pnpm run dev:main
警告
在 Docker 容器中运行 WordPress 在低规格机器上运行速度极慢
建议使用 >=1 GB RAM(不带 MySQL 8),或 >=2 GB RAM(带 MySQL 8)
该项目包含在一个基于官方 WordPress Docker 镜像构建的 Docker 容器中:wordpress:php8.0-apache。
每个构建都会输出一个静态 Docker 映像(类似于典型的容器化应用程序),这意味着更新 WordPress 本身或添加新的主题/插件需要重新部署。
所有上传都存储在外部存储中(七牛,类似于AWS S3),因此wp-content/uploads
可以被视为临时数据。
main
应用程序使用 WordPress REST API 来获取数据, wordpress
应用程序充当无头 CMS。主题peg
用于自定义 REST API 端点的行为,因此peg/functions.php
应该是wordpress
应用程序开发的主要焦点。
MySQL 数据库:
WORDPRESS_DB_HOST
WORDPRESS_DB_NAME
WORDPRESS_DB_PASSWORD
WORDPRESS_DB_USER
WORDPRESS_TABLE_PREFIX
设置:
WORDPRESS_DEBUG
或者,可以将WORDPRESS_CONFIG_EXTRA
设置为包含其他配置:
MySQL SSL 连接:
define("MYSQL_CLIENT_FLAGS", MYSQLI_CLIENT_SSL);
关闭 PHP 警告和通知:
ini_set("error_reporting", E_ALL & ~E_NOTICE);
ini_set("display_errors","Off")
Redis 对象缓存:
define("WP_REDIS_HOST", "redis_database_host");
define("WP_REDIS_PASSWORD", "redis_database_pwd");"
define("WP_REDIS_PORT", "redis_database_port")
docker build --tag ouorz-wordpress .docker run -p 8080:80 -e WORDPRESS_DB_HOST=[dev_database_host] -e WORDPRESS_DB_USER=[dev_database_user] -e WORDPRESS_DB_PASSWORD=[dev_database_pwd] -e WORDPRESS_DB_NAME=[dev_database_name] -e WORDPRESS_DEBUG=true -e WORDPRESS_CONFIG_EXTRA="定义('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);" -e WORDPRESS_TABLE_PREFIX=[dev_database_prefix] ouorz-wordpress
该项目基于 Umami
按照此处的说明进行操作 → 注册 Maxmind GeoLite2,并检索许可证密钥
git 克隆 [email protected]:ttttonyhe/ouorz-mono.git pnpm installcd 应用程序/分析
使用您的配置创建一个.env
文件,请参阅下面的该项目中使用的环境变量列表:
DATABASE_URL
哈希_盐
MAXMIND_LICENSE_KEY
pnpm --filter @ouorz/analytics run build-postgresql-client pnpm run dev:analytics
一个超级自以为是的前端工具包库
故事书:https://ui.twilight-toolkit.ouorz.com →
目前仅在 React 中可用,Foundation/Adaptor 实现即将推出。
工作正在进行中
构建系统:具有远程缓存的 Turborepo
Monorepo 经理:PNpm
使用项目别名可以更轻松地运行不同包中的命令:
pnpm --filter @ouorz/main 运行升级
每当需要内容感知(即缓存)时,请使用预定义的 Turborepo 脚本:
pnpm 运行构建:main
根package.json
应该只包含开发依赖项
在制品
虽然并没有真正遵循这个...
测试运行者:赛普拉斯
启动服务器:
pnpm 运行构建:main pnpm run start:main# orcd apps/main pnpm 运行 dev:测试
运行测试:
pnpm 运行测试:main
apps/main
使用 Cypress Dashboard,通过相应地更改配置文件来禁用它。
通过apps/wordpress/Dockerfile
构建然后部署 Docker 映像。
注意:默认情况下,图像侦听端口 80,而不是更常见的 8080
该项目结合使用了服务器端渲染 (SSR) 和(按需)增量静态生成 (ISG):
pnpm 运行构建:main pnpm 运行开始:main
pnpm 运行构建:分析 pnpm 运行开始:分析
要部署故事书,请将其导出为静态 Web 应用程序:
pnpm 运行构建:暮光之城:ui:故事书
配置文件fly.toml
可以在apps/wordpress
下找到。持久存储应安装到/var/www/html/wp-content
。
飞行发射 飞行秘密设置 WORDPRESS_DB_HOST=[dev_database_host] WORDPRESS_DB_USER=[dev_database_user] WORDPRESS_DB_PASSWORD=[dev_database_pwd] WORDPRESS_DB_NAME=[dev_database_name] WORDPRESS_DEBUG=假 WORDPRESS_TABLE_PREFIX=[dev_database_prefix] 飞行部署
(可选)可以在多个 Fly.io 区域中创建具有相同名称的卷,这允许 Fly 在多个区域中运行该应用程序的一个或多个实例:
飞卷创建 ouorz_wordpress_wp_content --region yyz --size 1 --no-加密 飞卷创建 ouorz_wordpress_wp_content --region fra --size 1 --no-加密 飞卷创建 ouorz_wordpress_wp_content --region hkg --size 1 --no-加密
苍蝇秤计数3
(可选)Fly.io 提供完全托管的 Redis 数据库,可以使用以下命令创建:
飞 Redis 创建
流量将通过仅限您的 Fly 组织的私有 IPv6 地址自动路由。
确保将根目录路径设置为apps/<project-name>
,然后将构建命令更新为以下内容:
cd ../.. && pnpm run build:<项目名称>
强烈建议启用基于差异的部署:
git diff --quiet HEAD^ HEAD ./
GPL-3.0