下面我给你整理一份完整、可直接落地、Docker 部署 Jirafeau 文件共享工具的步骤,涵盖 快速部署、持久化、生产优化。
一、Jirafeau 简介
Jirafeau 是一个轻量级 PHP 文件分享工具:
- 单文件上传
- 支持大文件
- Web 界面简单
- 支持临时 / 永久链接
- 可以自建私有文件分享服务
官网/项目地址:https://gitlab.com/mojo42/Jirafeau
二、部署前准备
1️⃣ 系统环境
- Linux / macOS / Windows
- 已安装 Docker ≥ 20.x
- 已安装 Docker Compose ≥ v2
检查:
docker -v
docker compose version
2️⃣ 端口规划
| 服务 | 端口 |
|---|---|
| Web 前端 | 8080(默认,可自定义) |
三、方式一:快速体验(单容器)
适合测试或临时使用。
docker run -d \
--name jirafeau \
-p 8080:80 \
mojo42/jirafeau
访问:
http://服务器IP:8080
✅ 即可看到 Jirafeau 文件上传界面
⚠️ 注意:这种方式数据容器内存储,容器删除后文件会丢失
四、方式二:Docker Compose(推荐生产环境)
1️⃣ 创建目录结构
mkdir -p jirafeau/{data,config}
cd jirafeau
data→ 上传的文件持久化config→ Jirafeau 配置文件
2️⃣ 编写 docker-compose.yml
version: "3.9"
services:
jirafeau:
image: mojo42/jirafeau
container_name: jirafeau
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./data:/var/www/html/data
- ./config:/var/www/html/config
3️⃣ 启动服务
docker compose up -d
访问:
http://服务器IP:8080
✅ 上传文件、获取链接均可用
五、持久化与安全建议
1️⃣ 持久化存储
- 文件:挂载
data - 配置:挂载
config
volumes:
- ./data:/var/www/html/data
- ./config:/var/www/html/config
2️⃣ 设置访问密码
在 config/config.php 中设置:
$usePass = true;
$password = "yourpassword";
或者在 Web 界面首次访问时设置
3️⃣ 建议配置反向代理 + HTTPS
server {
listen 80;
server_name files.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
- 使用 Let’s Encrypt / Certbot 启用 HTTPS
- 避免明文文件分享
六、升级与维护
升级镜像
docker compose pull
docker compose down
docker compose up -d
- 数据不会丢失(因为 volume 已挂载)
七、生产环境优化建议
| 优化点 | 方法 |
|---|---|
| 大文件上传 | 调整 PHP upload_max_filesize & post_max_size |
| 多用户 / 权限 | 使用反向代理 + 基础认证 |
| 安全 | 强制 HTTPS + 配置访问密码 |
| 日志管理 | 挂载日志目录,便于监控 |
八、快速命令总结
# 1. 拉取镜像
docker pull mojo42/jirafeau
# 2. 单容器运行
docker run -d --name jirafeau -p 8080:80 mojo42/jirafeau
# 3. Docker Compose 部署
docker compose up -d
# 4. 查看日志
docker compose logs -f
# 5. 升级
docker compose pull
docker compose up -d
九、一句话总结(必记)
Jirafeau 是轻量 PHP 文件分享工具,
Docker Compose 可持久化存储文件与配置,
推荐配合 Nginx + HTTPS 提供安全生产环境。
发表回复