EDGE浏览器得Drop功能使用十分方便,靠驻侧边栏,聊天对话框,可以多端同步文字、图片和文件,储存依托得是账户自带的OneDrive,所以国内访问速度可想而知,于是有了这个项目。
简洁的本地/内网临时传输与消息留存工具。后端基于 Node.js + Express,提供 HTTP API 与 WebSocket(/ws),前端为简易的静态页面与模块化 JS。
database/sqlite.db)| 主页 | 设置 | 系统设置 |
|---|---|---|
![]() | ![]() | ![]() |


yarn install
cp .env.example .env
# 强烈建议修改 .env 中的 JWT_SECRET!
# 构建静态资源
yarn build
# 启动
yarn start
PORT=3000,HOST=0.0.0.0database/、uploads/、logs/ 目录(如不存在)推荐直接使用预构建镜像(GHCR,多架构支持 amd64/arm64),无需克隆仓库:
# 1) 创建部署目录并进入
mkdir mydrop && cd mydrop
# 2) 下载环境变量与 Compose 模板
wget -O .env https://raw.githubusercontent.com/likesrt/MyDrop/refs/heads/main/.env.example
wget -O docker-compose.yml https://raw.githubusercontent.com/likesrt/MyDrop/refs/heads/main/docker-compose.example.yml
# 3) 强烈建议编辑 .env,设置一个强随机的 JWT_SECRET
# 4) 可选:创建持久化目录(也可交由 Docker 自动创建)
mkdir -p uploads logs database
# 5) 启动(默认拉取正式发布镜像:latest)
docker compose up -d
# 6) 常用操作
docker compose pull # 拉取更新
docker compose up -d # 应用更新并后台运行
docker compose logs -f # 查看日志
docker compose down # 停止容器
./database:/app/database(SQLite与 WAL/SHM)./uploads:/app/uploads./logs:/app/logsPORT。
.env 修改 PORT=8080 → 发布为 8080:8080。docker-compose.yml 注释处启用 127.0.0.1:${PORT:-3000}:${PORT:-3000}。backend/ # 服务端 API 与服务层 api/ # 路由:auth、messages、files、admin、config services/ # db.js、auth.js、logger.js frontend/ # 前端模板与 JS 模块 templates/ # 页面与静态构建产物(/static/*) js/ # UI、API、WS、Chat 等模块 scripts/ # 构建/维护脚本(copy-vendor.js、reset-admin.js) database/ # SQLite 数据(持久化,已 gitignore) uploads/ # 上传文件 logs/ # 日志文件 app.js # 启动 Express + WebSocket 与静态资源 Dockerfile docker-compose.example.yml
admin/admin,并使现有 Token,totp,webauth失效):
yarn reset:admin
自 v1.2.0 起,绝大部分运行时配置已迁移至“系统设置”(保存在数据库,运行时可修改并立即生效),不再通过环境变量配置。详情见 release-notes-v1.2.0.md。
仍通过环境变量配置(建议保留/必须项)
JWT_SECRET:必填,JWT 签名密钥(强随机;多实例需显式统一)PORT、HOST:服务监听端口与地址(默认 PORT=3000)LOG_FILE、LOG_MAX_SIZE_MB、LOG_ROTATE_KEEPSQLITE_JOURNAL_MODE(如 WAL 不可用时可设为 DELETE)ASSET_VERSION已迁移到“系统设置”(不要再用环境变量设置)
AUTO_CLEANUP_ENABLED、CLEANUP_INTERVAL_MINUTES、MESSAGE_TTL_DAYS、DEVICE_INACTIVE_DAYSFILE_SIZE_LIMIT_MB、MAX_FILESJWT_EXPIRES_DAYS、TEMP_LOGIN_TTL_MINUTESHEADER_AUTO_HIDELOG_LEVELDocker 部署(推荐):
git pulldocker-compose.example.yml 与本地 docker-compose.yml,必要时合并或执行 cp docker-compose.example.yml docker-compose.yml 并恢复你的自定义端口等改动;.env.example 是否新增变量或说明,将需要的项补充到你的 .env(如 PORT、SQLITE_JOURNAL_MODE)。docker compose pull && docker compose up -ddocker compose logs -f 观察启动日志;访问 http://<主机>:<PORT>。兼容性提示:
.env 中设置 SQLITE_JOURNAL_MODE=DELETE。JWT_SECRET,并妥善保管;database/ uploads/ 目录;如使用 Compose,直接备份宿主机的 ./database uploads/ 即可。MIT