{"id":23126039,"url":"https://github.com/dyaxy/v2b-theme-nest","last_synced_at":"2025-08-17T03:33:00.190Z","repository":{"id":249778283,"uuid":"832523511","full_name":"DyAxy/V2B-Theme-Nest","owner":"DyAxy","description":"V2Board 主题 Nest （兼容XBoard）","archived":false,"fork":false,"pushed_at":"2024-08-03T05:49:06.000Z","size":5417,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-03T06:43:43.162Z","etag":null,"topics":["nextjs","react","shadcn-ui","v2board","v2board-theme","xboard","xboard-theme"],"latest_commit_sha":null,"homepage":"https://v2b.theme.nest.haruka.cloud/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DyAxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-23T07:40:46.000Z","updated_at":"2024-08-03T05:49:10.000Z","dependencies_parsed_at":"2024-08-03T06:51:00.718Z","dependency_job_id":null,"html_url":"https://github.com/DyAxy/V2B-Theme-Nest","commit_stats":null,"previous_names":["dyaxy/v2b-theme-nest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2FV2B-Theme-Nest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2FV2B-Theme-Nest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2FV2B-Theme-Nest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2FV2B-Theme-Nest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DyAxy","download_url":"https://codeload.github.com/DyAxy/V2B-Theme-Nest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230085106,"owners_count":18170425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","react","shadcn-ui","v2board","v2board-theme","xboard","xboard-theme"],"created_at":"2024-12-17T08:18:11.408Z","updated_at":"2024-12-17T08:18:11.864Z","avatar_url":"https://github.com/DyAxy.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# V2Board 主题 Nest\n\u003e 前后端分离主题，仅需填入后端地址即可  \n\u003e 请注意同源策略 \n\n反馈群：[https://t.me/dyaogroup](https://t.me/dyaogroup)  \n兼容 `V2Board` 及 `XBoard`  \n支持自定义主题颜色  \n支持 `Google reCAPTCHA v2`  \n自适应移动端、PC端  \n自适应系统主题颜色  \n国际化语言支持  \n\n## 使用说明\n\n### 修改配置\n在项目根目录下的 `public/config.json` 文件中，可以修改以下配置项：\n\n```json\n{\n    \"apiUrl\": \"https://your-backend-url/\", // 后端地址，务必以斜杠结尾\n    \"title\": \"V2B Theme Nest\", // 服务名称\n    \"color\": \"#252525\" // 主题颜色\n}\n```\n\n请将 `apiUrl` 修改为你的后端地址，确保地址以斜杠结尾。同时，你也可以根据需要修改 `title` 和 `color`。\n\n### 后端修改\n\u003e 为保证支付回调都能返回来源地址，而不是配置的地址，可以修改 V2Board 后端文件\n\n`app/Services/PaymentService.php` 第 50 行，修改 `return_url` ：\n将 `config('v2board.app_url')` 修改为 `$_SERVER[\"HTTP_ORIGIN\"]` 即可返回来源地址\n\n### 部署运行\n在部署之前，请确保你的环境满足以下要求：\n- Node.js 版本 \u003e= 18\n\n运行以下命令启动服务：\n```bash\nnode server.js\n```\n服务将会在 `3000` 端口上运行。你可以自行进行反向代理和域名解析。\n\n## 持久化运行\n\n### 使用PM2进行持久化运行\n\n如果你希望使用PM2进行持久化运行，可以按照以下步骤操作：\n\n1. 首先，确保你已经安装了PM2。如果没有安装，可以使用以下命令进行安装：\n\n    ```bash\n    npm install pm2 -g\n    ```\n\n2. 在项目根目录下，创建一个名为`ecosystem.config.js`的文件，并将以下内容添加到文件中：\n\n    ```javascript\n    module.exports = {\n      apps: [\n         {\n            name: \"v2b-theme-nest\",\n            script: \"server.js\",\n            watch: true,\n            env: {\n              NODE_ENV: \"production\",\n            },\n         },\n      ],\n    };\n    ```\n\n3. 使用以下命令启动应用程序：\n\n    ```bash\n    pm2 start ecosystem.config.js\n    ```\n\n    这将启动应用程序并使用PM2进行监控和持久化运行。\n\n### 使用screen进行持久化运行\n\n如果你希望使用screen进行持久化运行，可以按照以下步骤操作：\n\n1. 首先，确保你已经安装了screen。如果没有安装，可以使用以下命令进行安装：\n\n    ```bash\n    sudo apt-get install screen\n    ```\n\n2. 使用以下命令创建一个新的screen会话：\n\n    ```bash\n    screen -S v2b-theme-nest\n    ```\n\n3. 在screen会话中，使用以下命令启动应用程序：\n\n    ```bash\n    node server.js\n    ```\n\n    按下`Ctrl + A`，然后按下`D`键，即可将screen会话切换到后台运行。\n\n    如果需要重新连接到screen会话，可以使用以下命令：\n\n    ```bash\n    screen -r v2b-theme-nest\n    ```\n\n### 使用systemd进行持久化运行\n\n如果你希望使用systemd进行持久化运行，可以按照以下步骤操作：\n\n1. 在`/etc/systemd/system/`目录下，创建一个名为`v2b-theme-nest.service`的文件，并将以下内容添加到文件中：\n\n    ```\n    [Unit]\n    Description=V2B Theme Nest\n    After=network.target\n\n    [Service]\n    ExecStart=/usr/bin/node /root/V2B-Theme-Nest/server.js\n    Restart=always\n    User=root\n    Environment=NODE_ENV=production\n\n    [Install]\n    WantedBy=multi-user.target\n    ```\n\n    请确保将`ExecStart`的路径替换为你的实际路径。\n\n2. 使用以下命令启动服务并设置开机自启：\n\n    ```bash\n    sudo systemctl start v2b-theme-nest\n    sudo systemctl enable v2b-theme-nest\n    ```\n\n    这将启动服务并将其设置为开机自启。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyaxy%2Fv2b-theme-nest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyaxy%2Fv2b-theme-nest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyaxy%2Fv2b-theme-nest/lists"}