2023-10-13 14:34:00 +08:00
2023-08-05 18:43:00 +08:00
2023-08-13 21:22:30 +08:00
2023-09-29 23:20:27 +08:00
2023-07-12 16:14:15 +08:00
2023-01-07 16:16:29 +08:00
2023-03-05 12:06:08 +08:00
2022-12-14 22:14:03 +08:00
2023-09-29 23:20:27 +08:00
2023-08-23 19:28:27 +08:00

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

Description
No description provided
Readme 2.8 MiB
Languages
Java 100%