
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
FILES SHARING 版本 2 已发布
这是一个基于Laravel 10.9的PHP应用,功能类似Wetransfer,可部署在您自己的服务器上。它无需任何数据库系统,通过存储文件夹中的JSON文件实现数据存储。应用支持多语言,目前已包含英语、法语和韩语翻译,欢迎参与翻译工作。
每个文件包提供两个链接:
每个链接均包含授权码,预览和下载链接使用相同的授权码。应用还内置Laravel Artisan命令作为后台任务,可定期(每5分钟)物理删除存储盘中的过期文件包。
适用于个人或企业在自有服务器上搭建安全可控的文件共享服务,用于临时或长期文件传输,尤其适合需要控制数据存储位置、限制访问权限或避免第三方服务依赖的场景。
基础依赖与Laravel一致:
额外依赖:
前端技术栈:
可通过Docker安装FileSharing,镜像地址:https://hub.docker.com/r/axeloz/filesharing
docker run命令示例:
bashdocker run -d \ -p 8080:80 \ -v <本地路径>:/app/storage/content \ --name filesharing \ -e APP_NAME="FileSharing" \ -e APP_URL="<您的URL>" \ -e ASSET_URL="<您的资源URL>" \ -e UPLOAD_MAX_FILESIZE="1G" \ -e APP_TIMEZONE="Europe/Paris" \ -e UPLOAD_PREVENT_DUPLICATES=true \ -e HASH_MAX_FILESIZE="1G" \ -e UPLOAD_MAX_FILES=100 \ -e LIMIT_DOWNLOAD_RATE="100K" \ docker.xuanyuan.run/axeloz/filesharing:latest
-v:将本地路径挂载到容器内,用于持久化存储文件-p:端口映射,将容器80端口映射到本地8080端口-e:设置环境变量,配置应用参数Nginx反向代理配置示例:
nginxserver { server_name filesharing.box.webinno.fr; charset utf-8; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://localhost:8080; } listen [::]:443 ssl http2; listen 443 ssl http2; ssl_certificate [...] ssl_certificate_key [...] }
docker-compose配置示例:
yamlversion: '3' services: app: image: docker.xuanyuan.run/axeloz/filesharing:latest environment: UPLOAD_MAX_FILESIZE: "1G" UPLOAD_MAX_FILES: "100" UPLOAD_LIMIT_IPS: "127.0.0.1" UPLOAD_PREVENT_DUPLICATES: true HASH_MAX_FILESIZE: "1G" LIMIT_DOWNLOAD_RATE: "1M" volumes: - files_v:/app/storage/content ports: - 8080:80 volumes: files_v: driver: local
./public文件夹composer installyarn --production(或npm install --production)yarn build(或npm run build)./storage文件夹有写权限php artisan key:generatecp .env.example .env并编辑.env文件php artisan fs:user:create* * * * * /usr/bin/php /项目路径/artisan schedule:run >> /dev/null 2>&1php artisan fs:bundle:purge完成后,通过浏览器访问域名即可使用。
复制.env.example为.env文件,编辑以下配置项:
| 配置项 | 描述 |
|---|---|
APP_NAME | 应用名称 |
APP_ENV | 环境(生产环境设为production,开发环境设为local) |
APP_DEBUG | 调试模式(生产环境设为false,开发环境设为true) |
APP_TIMEZONE | 时区设置 |
APP_LOCALE | 语言(支持"fr"法语、"en"英语、"kr"韩语) |
UPLOAD_PREVENT_DUPLICATES | 是否阻止重复文件上传(true/false) |
HASH_MAX_FILESIZE | 用于检测重复文件的最大哈希文件大小,需平衡CPU/内存消耗 |
UPLOAD_MAX_FILES | (可选)每个文件包的最大文件数量 |
UPLOAD_MAX_FILESIZE | (可选)上传文件大小限制(支持K、M、G、T等单位),需同步配置PHP的post_max_size、upload_max_filesize和memory_limit |
UPLOAD_LIMIT_IPS | (可选)允许上传的IP列表,支持完整IP(192.168.10.2)、通配符(192.168.10.*)、CIDR(192.168.10/24)或IP范围(192.168.10.0-192.168.10.10),留空则禁用IP限制 |
LIMIT_DOWNLOAD_RATE | (可选)下载速率限制,如100K表示100KB/s |
可通过以下方式限制上传功能访问:
警告:若
UPLOAD_LIMIT_IPS为空且未创建用户,上传功能将对公众开放
使用Nginx时,可能需要额外配置以增加上传文件大小限制,具体参考Nginx文档中的client_max_body_size配置项。
GPLv3
| 权限 | 条件 | 限制 |
|---|---|---|
| 商业使用 | 公开源代码 | 责任限制 |
| 分发 | 保留许可证和版权声明 | 担保限制 |
| 修改 | 使用相同许可证 | |
| 专利使用 | 声明修改 | |
| 私人使用 |
详细许可证信息:https://choosealicense.com/licenses/gpl-3.0/
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务