ghcr.io/sharevb/it-tools:nightly
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
容器镜像的重大变更
由于基础镜像现已更改为 nginx-unpriviledged,容器现在将监听端口 8080 而非 80。因此,您需要更新端口映射,例如从 8080:80 更改为 8080:8080。
nginx-unpriviledged、8080:80、8080:8080
您可以使用环境变量 PORT 覆盖监听端口(Docker 选项 -e PORT=8888)。
PORT、-e PORT=8888
如果容器需要监听 IPv6,则需要启用 IPv6:[***] Docker 选项 -v "./nginx.conf:/etc/nginx/templates/default.conf.template" 挂载自己的 nginx.conf(需移除 listen [::]:8080;)
nginx.conf、-v "./nginx.conf:/etc/nginx/templates/default.conf.template"、listen [::]:8080;
/my-folder## 在 /it-tools/ 子文件夹中托管的 Docker Compose 配置
/it-tools/对于/it-tools/子文件夹,您可以使用baseurl-it-tools标签。
/it-tools/``baseurl-it-tools请参考docker-compose.yml和nginx.conf的示例,此Docker镜像需要在其前方配置另一个反向代理,例如Nginx Proxy Manager、Traefik、Caddy等。
使用/it-tools/设置反向代理转发。您应该能够通过服务器的/it-tools/路径访问it-tools。
/it-tools/``/it-tools/Nginx反向代理配置示例可在以下地址获取:https://github.com/sharevb/it-tools/tree/chore/all-my-stuffs/docker-subfolder-sample
运行示例:
git clone https://github.com/sharevb/it-tools
cd it-tools/docker-subfolder-sample/
docker compose up
然后访问 http://localhost:8080/it-tools/
使用自定义文件夹构建:
BASE_URL="/it-tools/" pnpm build- 将生成的
dist文件夹重命名为it-tools,并部署到https://your-domain.com/it-tools
为 GitHub Pages 构建:
- 在您的分支中,启用 GitHub Pages 构建和部署选项,路径为 Settings
Pages,并选择 GitHub Actions 作为源
- 向您的仓库添加以下 GitHub Action:https://github.com/sharevb/it-tools/tree/chore/all-my-stuffs/.github/workflows/sharevb-github-pages-publish.yml
添加身份验证
假设您已在反向代理后托管it-tools,您可以配置forward-auth并通过反向代理强制身份验证
- Nginx 的官方指南。其他反向代理设置的指南也可用
- 使用 nginx-proxy-manager 的分步设置指南(感谢 @jogerj)
部署为 LXC 容器
在 Proxmox VE 中,您可以直接使用 Docker 镜像:
sudo lxc-create -n sharevb-it-tools -t oci -- --url docker://ghcr.io/sharevb/it-tools:latest
贡献
推荐的 IDE 设置
要在 WSL2(Windows)中安装 VSCode,请参见:[***]
VSCode 需安装以下扩展:
- Volar(并禁用 Vetur)
- TypeScript Vue Plugin(Volar)
- ESLint
- i18n Ally
并使用以下设置:
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"i18n-ally.localesPaths": ["locales", "src/tools/*/locales"],
"i18n-ally.keystyle": "nested"
}
TypeScript 中 .vue 导入的类型支持
TypeScript 默认无法处理.vue导入的类型信息,因此我们使用vue-tsc替换tsc CLI 进行类型检查。在编辑器中,我们需要 TypeScript Vue Plugin(Volar)使 TypeScript 语言服务能够识别.vue类型。
如果独立的 TypeScript 插件感觉不够快,Volar 还实现了性能更优的 Take Over Mode。您可以通过以下步骤启用它:
- 禁用内置 TypeScript 扩展
从 VSCode 命令面板运行Extensions: Show Built-in Extensions
找到TypeScript and JavaScript Language Features,右键选择Disable (Workspace) - 从 VSCode 命令面板运行
Extensions: Show Built-in Extensions - 找到
TypeScript and JavaScript Language Features,右键选择Disable (Workspace) - 从命令面板运行
Developer: Reload Window以重新加载 VSCode 窗口
项目设置
pnpm install --ignore-scripts
编译并热重载以进行开发
pnpm dev
类型检查、编译并压缩用于生产环境
pnpm build
使用 Vitest 运行单元测试
pnpm test
使用 ESLint 进行代码检查
pnpm lint
确保 CI(lock、eslint、typecheck)成功
提交 PR 前,请运行:
pnpm install --ignore-scripts && pnpm lint --fix && pnpm typecheck
创建新工具
要创建新工具,有一个脚本可以生成新工具的模板,只需运行:
pnpm run script:create:tool my-tool-name
它将在src/tools中创建一个包含正确文件的目录。您需要在src/tools/_my-tool-name_/index.ts中填写工具名称、类别、描述……然后开发工具。
安装方法
本地安装需先安装:python3 make g++
容器镜像
- GitHub Container Registry:
ghcr.io/sharevb/it-tools:latest - Docker Hub:
sharevb/it-tools:latest
本地安装
sudo apt-get install python3 make g++ && git clone -b chore/all-my-stuffs https://github.com/sharevb/it-tools.git && cd it-tools/ && pnpm i --ignore-scripts && pnpm dev
- 用此镜像替换您当前的镜像
- 复制粘贴单行命令(来自 GitHub 仓库)
- 您可能需要清除缓存并强制刷新才能加载新功能
- 首次安装软件包可能需要一些时间,请等待完成
许可证
本项目采用 GNU GPLv3 许可证。
镜像拉取常见问题
功能
错误码
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务