一个基于 Web 的轻量级局域网文件共享管理和即时通讯工具。
9.6K
AetherDrop 是一个基于 Web 的局域网文件传输和即时通讯工具。通过浏览器即可在手机、电脑、平板之间快速传输文件和消息,无需安装任何客户端。
docker run -d \
--name aetherdrop \
-p 3001:3001 \
-v aetherdrop_data:/app/data \
-v aetherdrop_uploads:/app/uploads \
1195864138/aetherdrop:latest
启动后访问 http://localhost:3001,默认管理员账号:admin / admin。
创建 docker-compose.yml:
version: '3.8'
services:
aetherdrop:
image: 1195864138/aetherdrop:latest
container_name: aetherdrop
ports:
- "3001:3001"
volumes:
- aetherdrop_data:/app/data
- aetherdrop_uploads:/app/uploads
environment:
- AUTH_USERNAME=admin
- AUTH_PASSWORD=your_secure_password
- JWT_SECRET=your_jwt_secret_here
restart: unless-stopped
volumes:
aetherdrop_data:
aetherdrop_uploads:
docker-compose up -d
| 变量 | 说明 | 默认值 |
|---|---|---|
PORT | 服务监听端口 | 3001 |
AUTH_USERNAME | 初始管理员用户名(仅首次启动生效) | admin |
AUTH_PASSWORD | 初始管理员密码(仅首次启动生效) | admin |
JWT_SECRET | JWT 签名密钥。生产环境务必设置,否则每次重启后所有用户需重新登录 | 随机生成 |
ALLOWED_ORIGINS | 允许的 CORS 来源(逗号分隔) | * |
MAX_FILE_SIZE_ADMIN | 管理员最大上传大小 (bytes) | 10737418240 (10GB) |
MAX_FILE_SIZE_USER | 普通用户最大上传大小 (bytes) | 1073741824 (1GB) |
MAX_FILE_SIZE_GUEST | 访客最大上传大小 (bytes) | 524288000 (500MB) |
容器内需要挂载以下两个目录以保证数据不丢失:
| 容器路径 | 说明 |
|---|---|
/app/data | SQLite 数据库(用户、消息、房间、设置) |
/app/uploads | 用户上传的文件 |
| 角色 | 说明 |
|---|---|
| SuperAdmin | 全部权限:用户管理、系统设置、DAV 配置、房间管理等 |
| Admin | 房间管理、删除消息、文件上传、查看管理面板 |
| User | 文件上传、发送消息、创建房间 |
| Guest | 文件上传、发送消息 |
如需通过域名 + HTTPS 访问,Nginx 参考配置:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
client_max_body_size 500M;
}
提示:Socket.IO 需要 WebSocket 支持,务必保留
Upgrade和Connection头。
| 层 | 技术 |
|---|---|
| 前端 | React · TypeScript · Vite · Tailwind CSS · Framer Motion |
| 后端 | Node.js · Express · Socket.IO |
| 数据库 | SQLite |
| 安全 | JWT · bcrypt · Helmet · express-rate-limit |
| 容器 | 多阶段构建 · Alpine 基础镜像 · 非 root 运行 |
linux/amd64 + linux/arm64,兼容 x86 服务器和 ARM 设备(树莓派、Apple Silicon 等)HEALTHCHECK,通过 /api/health 端点监控服务状态node 用户运行,增强安全性我是 阿弥,一个热爱折腾代码和新技术的非开发者。
如果你对这个项目感兴趣,或者有任何建议,欢迎访问我的个人网站:https://161767.xyz。
Content type
Image
Digest
sha256:1423315d2…
Size
75.7 MB
Last updated
5 months ago
docker pull 1195864138/aetherdrop