Filestash 是一款功能强大的网络文件管理工具,允许用户在单一界面下管理分布于不同地点和平台的数据。无论是 FTP、SFTP、WebDAV 服务器,还是 Git 仓库,亦或是 S3、Minio、Dropbox、Google Drive 等云存储服务,Filestash 都能提供便捷的访问和管理途径。
通过 Filestash,用户可以轻松实现文件的上传、下载、编辑、搜索和版本控制,无需在多个应用程序或服务之间切换,极大地提升了数据管理和协作的效率。尤其对于需要频繁处理多源文件的专业人士或团队,Filestash 无疑是一个理想的解决方案。
远程工作与协作:
当团队成员分散在全球各地时,Filestash 可以作为一个统一的文件存储和协作平台。团队成员可以实时上传和下载项目文件,无需担心文件版本冲突,因为 Filestash 支持版本控制和历史记录。
媒体资产管理:
对于摄影师、视频制作人或设计师来说,Filestash 可以作为集中管理大量媒体文件(如 RAW 照片、高清视频)的中心。它不仅提供图像和视频预览,还能进行格式转码,使得在不同设备上查看和编辑变得容易。
个人云存储整合:
个人用户可能同时使用多个云存储服务,比如 Google Drive、Dropbox 和 OneDrive。Filestash 可以让用户在一个界面上管理所有这些服务中的文件,简化了日常的文件管理和备份流程。
开发人员的代码仓库管理:
开发者可以利用 Filestash 来访问和管理他们的 Git 仓库,无需在本地安装 Git 或其他版本控制系统。这在进行代码审查、合并分支或远程调试时特别有用。
教育和培训资源分发:
教师或课程开发者可以使用 Filestash 来存储和分享教学材料,如 PDF 文档、PPT 演示文稿和视频教程。学生可以从任何设备访问这些资源,而不需要下载或安装专用的应用程序。
家庭媒体中心:
家庭成员可以通过 Filestash 在家中或外出时访问共同的照片、音乐和电影收藏。Chromecast 支持使得在电视上播放多媒体内容变得更加方便。
企业文档管理和合规性:
在企业环境中,Filestash 可以用于管理敏感的文档和数据。其内置的权限管理和加密功能有助于确保只有授权用户才能访问特定文件,符合数据保护法规要求。
本次实践为个人测试环境,操作系统版本为 centos7.6。
主机名 | IP 地址 | 操作系统版本 | Docker 版本 |
---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 20.10.17 |
检查 Docker 服务是否正常运行,确保 Docker 正常运行。
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2024-07-03 21:07:37 CST; 1 day 21h ago
Docs: https://docs.docker.com
Main PID: 11950 (dockerd)
Tasks: 10
Memory: 138.3M
CGroup: /system.slice/docker.service
└─11950 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查 Docker 版本:
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701
检查 Docker Compose 版本,确保为 2.0 以上版本:
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
拉取 Filestash 容器镜像:
docker pull machines/filestash
创建部署目录:
mkdir filestash && cd filestash
下载 Docker Compose 部署文件:
curl -O https:///latest/docker-compose.yml
进入 Filestash 项目目录,查看 docker-compose.yml
部署文件:
version: '2'
services:
app:
container_name: filestash
image: machines/filestash
restart: always
environment:
- APPLICATION_URL=
- GDRIVE_CLIENT_ID=<gdrive_client>
- GDRIVE_CLIENT_SECRET=<gdrive_secret>
- DROPBOX_CLIENT_ID=<dropbox_key>
- ONLYOFFICE_URL=http://onlyoffice
ports:
- "8334:8334"
volumes:
- filestash:/app/data/state/
onlyoffice:
container_name: filestash_oods
image: onlyoffice/documentserver
restart: always
security_opt:
- seccomp:unconfined
volumes:
filestash: {}
使用 docker-compose.yaml
文件创建 Filestash 容器:
docker compose up -d
检查 Filestash 容器状态,确保 Filestash 容器正常启动。
root@ubuntu-001:~/filestash# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
filestash machines/filestash "/app/filestash" app 32 minutes ago Up 31 minutes 0.0.0.0: