MCPcopy Index your code
hub / github.com/besscroft/diyfile

github.com/besscroft/diyfile @v0.8.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.8.3 ↗ · + Follow
441 symbols 1,154 edges 99 files 244 documented · 55%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DiyFile

DiyFile

一款好看的在线文件列表程序,由 Spring Boot 3 和 Vue 驱动。

GitHub repo size

预览

DiyFile

Demo

文档

DiyFile 的文档 ,在这里你可以找到大部分问题的解答。

部署

容器化部署

你可以用我打包好的 Docker 镜像进行部署,latest 版本对应最新版本的代码,你也可以根据自己的需求来选择对应的版本。

  • 示例命令:
docker run -d --name diyfile \
  -p 8080:8080 \
  -e SPRING_PROFILE="sqlite" \
  -e JAVA_OPTS="-Xms512m -Xmx512m -Duser.timezone=GMT+08 -Dfile.encoding=UTF8" \
  -v /root/data:/data \
  besscroft/diyfile:latest

-v /root/data:/data \ 是为了将容器内目录映射到宿主机,这样你就可以在宿主机上看到数据库文件了。: 号左边的为宿主机目录,右边的为容器内目录。

注意,这个镜像是支持 sqlite 数据库版本的镜像,如果你需要使用 mysql,可以 点击此处 查看。

  • Docker Compose 示例:
version: '3'
services:
  diyfile:
    container_name: diyfile
    image: besscroft/diyfile:latest
    ports:
      - "8080:8080"
    environment:
      SPRING_PROFILE: "sqlite"
      JAVA_OPTS: "-Xms512m -Xmx512m -Duser.timezone=GMT+08 -Dfile.encoding=UTF8"
    volumes:
      - /root/data:/data
  diyfile-web:
    container_name: diyfile-web
    image: besscroft/diyfile-web:latest
    ports:
      - "80:80"

注意,请根据实际情况修改配置。比如端口,数据库版本以及其它配置等。 Docker Compose 示例默认为前后端一起部署了,更多请查看文档!!!

名称 说明 默认值
SPRING_PROFILE 配置文件版本,可选项为 mysql 和 sqlite sqlite
FLYWAY_ENABLE 是否进行数据库自动初始化,只支持 sqlite、mysql 8.x 版本,或者 mariadb 跟 mysql 8.x 对应的版本。 true
DOC_ENABLE api 文档启用 false
DOC_UI_ENABLE swagger ui 启用 false

端口可以自定义,docker 容器内的程序端口为 8080,你可以自定义对应的宿主机的端口,以及网络类型。请注意,容器内连接主机端口,可以使用 ip 172.17.0.1。

代码贡献

提出新想法 & 提交 Bug | Fork & Pull Request

DiyFile 欢迎各种贡献,包括但不限于改进,新功能,文档和代码改进,问题和错误报告。

在线开发

你可以使用 Gitpod 进行在线开发:

Open in Gitpod

或者克隆到本地开发:

git clone https://github.com/besscroft/diyfile.git

前端项目

diyfile-web

如果您有任何建议,欢迎反馈!

您可以将服务部署在 DigitalOcean ,如果你愿意走我的邀请链接注册,可以获得100美元的信用额度。

DigitalOcean Referral Badge

感谢

本项目使用 JetBrains 的开源许可证,基于 IntelliJ IDEA 开发,感谢!

JetBrains 徽标(主要) logo

IntelliJ IDEA logo

Extension points exported contracts — how you extend this code

FileBaseService (Interface)
@Description 文件基础服务接口 @Author Bess Croft @Date 2023/1/20 11:16 [5 implementers]
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/base/FileBaseService.java
SystemConstants (Interface)
@Description 系统常量 @Author Bess Croft @Date 2022/12/15 14:51
diyfile-common/src/main/java/com/besscroft/diyfile/common/constant/SystemConstants.java
SyncService (Interface)
@Description 存储数据同步服务 @Author Bess Croft @Date 2023/3/21 21:43 [3 implementers]
diyfile-system/src/main/java/com/besscroft/diyfile/service/SyncService.java
RoleConstants (Interface)
@Description 角色常量 @Author Bess Croft @Date 2023/1/7 16:28
diyfile-common/src/main/java/com/besscroft/diyfile/common/constant/RoleConstants.java
FileService (Interface)
@Description 文件服务 @Author Bess Croft @Date 2023/1/22 20:29 [2 implementers]
diyfile-system/src/main/java/com/besscroft/diyfile/service/FileService.java
CacheConstants (Interface)
@Description 缓存常量 @Author Bess Croft @Date 2023/2/22 21:09
diyfile-common/src/main/java/com/besscroft/diyfile/common/constant/CacheConstants.java
UserService (Interface)
@Description 用户服务 @Author Bess Croft @Date 2022/12/15 14:33 [2 implementers]
diyfile-system/src/main/java/com/besscroft/diyfile/service/UserService.java
FileConstants (Interface)
@Description 文件常量 @Author Bess Croft @Date 2023/2/22 15:23
diyfile-common/src/main/java/com/besscroft/diyfile/common/constant/FileConstants.java

Core symbols most depended-on inside this repo

success
called by 40
diyfile-common/src/main/java/com/besscroft/diyfile/common/result/CommonResult.java
get
called by 39
diyfile-system/src/main/java/com/besscroft/diyfile/controller/UserController.java
getMessage
called by 33
diyfile-common/src/main/java/com/besscroft/diyfile/common/exception/DiyFileException.java
info
called by 30
diyfile-system/src/main/java/com/besscroft/diyfile/service/UserService.java
setName
called by 18
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/base/AbstractFileBaseService.java
failed
called by 15
diyfile-common/src/main/java/com/besscroft/diyfile/common/result/CommonResult.java
add
called by 14
diyfile-system/src/main/java/com/besscroft/diyfile/controller/UserController.java
getStorageKey
called by 12
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/base/AbstractFileBaseService.java

Shape

Method 342
Class 77
Interface 21
Enum 1

Languages

Java100%

Modules by API surface

diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/base/AbstractFileBaseService.java21 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/impl/QCloudCosServiceImpl.java16 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/impl/OneDriveServiceImpl.java16 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/impl/AliYunOssServiceImpl.java16 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/base/AbstractS3BaseService.java16 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/service/impl/StorageServiceImpl.java16 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/service/StorageService.java16 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/impl/LocalServiceImpl.java15 symbols
diyfile-common/src/main/java/com/besscroft/diyfile/common/exception/GlobalExceptionHandler.java13 symbols
diyfile-common/src/main/java/com/besscroft/diyfile/common/util/CommonPage.java12 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/storage/service/base/AbstractOneDriveBaseService.java11 symbols
diyfile-system/src/main/java/com/besscroft/diyfile/service/impl/UserServiceImpl.java11 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add diyfile \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact