非原!!1.9k star,推荐一款私人本地网盘,你的女朋友有去处了!!
今天推荐的这款开源工具,是一款支持本地化部署的私人网盘。这篇文章会手把手带大家不部署,除了网盘的常规功能外,这款工具还支持代码编辑,支持markdown。
直观效果看下下图,官网及开源地址在文末:
工具简介
kodbox 是一个基于 web 的文件管理器,它是在 kodexplorer 的基础上新设计的产品。它也是一个 web 代码编辑器,允许您直接在 web 浏览器中开发网站。
您可以在线上或本地运行 kodbox,支持 Linux、Windows 或 Mac 平台,唯一的要求是有 PHP 5 可用。
工具特点
- 操作体验:类似操作系统的使用体验,丰富的上下文菜单和工具栏,拖放,快捷键等。
- 多语言支持:支持超过 40 种语言。
- 文件管理:在远程服务器上对文件和文件夹进行所有操作(复制、剪切、粘贴、移动、删除、上传、创建文件夹/文件、重命名等)。
- 多用户支持:支持自定义角色组,灵活配置访问权限、文件类型限制、用户界面等。
- 编辑器:语法高亮支持超过 120 种语言,支持多标签,拖放标签。提供超过 15 种主题,可选择您喜欢的编程风格。
- Web 开发:集成 Emmet 的 HTML/JS/CSS 编辑器,支持自动缩进和缩出;代码折叠;多光标和选择等。
工具部署
首先创建一个目录作为项目目录,后面所有命令都在这个目录下执行
mkdir /kodbox && cd /kodbox
创建文件来设置数据库环境变量vim db.env
MYSQL_PASSWORD=
MYSQL_DATABASE=kodbox
MYSQL_USER=kodbox
创建docker-compose.yml 文件,在其中配置映射端口、持久化目录
vim docker-compose.yml
version: '3.5'
services:
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- "./db:/var/lib/mysql" #./db是数据库持久化目录,可以修改
# - "./etc/mysql/conf.d:/etc/mysql/conf.d" #增加自定义mysql配置
environment:
- MYSQL_ROOT_PASSWORD=
- MARIADB_AUTO_UPGRADE=1
- MARIADB_DISABLE_UPGRADE_BACKUP=1
env_file:
- db.env
app:
image: kodcloud/kodbox
restart: always
ports:
- 80:80 #左边80是使用端口,可以修改
volumes:
- "./site:/var/www/html" #./site是站点目录位置,可以修改
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
depends_on:
- db
- redis
redis:
image: redis:alpine
restart: always
增加自定义mysql配置:
mkdir -p ./etc/mysql/conf.d && vim ./etc/mysql/conf.d/custom.cnf
进入项目目录,执行docker compose up -d启动命令,会自动拉取容器并运行
docker compose up -d
如果需要停止服务
docker compose down
由于数据库和kodbox已经挂载了持久化目录,需要时可以重新启动,不用担心数据丢失
docker compose up -d
根据docker-compose.yml文件中配置的映射端口, 访问 安装向导 进行系统初始化。
工具总结
kodbox 还具有许多其他功能,如文件共享、收藏夹添加、目录大小计算、图像文件缩略图、文件名和文件路径的 UTF-8 标准化等。
此外,它还支持多种和分块的上传,背景文件拖放上传,以及 HTML5 支持。您还可以从 URL 上传文件,直接在当前工作目录中提取文件,搜索文件名和文件内容,以及创建/提取/预览压缩文件(zip、rar、7z、tar、gzip、tgz)等。
开源地址:https://github.com/kalcaddle/kodbox