大家好,我是 Java陳序員。
在日常生活中,我們會記錄很多精彩的瞬間,或圖片或視頻,並存放在網盤中。
然而,很多商業網盤下載速度慢,而且不能很好地保護隱私。
今天,給大家介紹一個支持多家雲存儲驅動的公有云文件系統,適合搭建私有化網盤服務!
關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。
項目介紹
Cloudreve —— 一個基於 Go + React 實現的支持多家雲存儲驅動的公有云文件系統,適用於搭建個人網盤、文件分享系統等。
功能特色:
- 支持多種存儲方式:包括本地存儲、遠程 FTP/SFTP 存儲以及雲存儲服務(阿里雲 OSS、騰訊雲 COS、Amazon S3 等)
- 功能豐富:支持文件上傳(拖拽上傳、目錄上傳、流式上傳處理)、在線預覽、在線壓縮/解壓縮、對接 Aria2 離線下載、多文件打包下載、文件分享、多用户及用户組管理等功能
- 靈活部署:All-In-One 打包,開箱即用,可以用於個人網盤、團隊協作網盤或公有云服務
- 技術架構:基於 Go 語言開發,性能更優且輕量
- 用户界面友好:支持自定義配色、黑暗模式、PWA 應用等
技術棧:
- Go + Gin
- React + Redux + Material-UI
快速上手
安裝包部署
1、打開下載地址,下載對應操作系統的安裝包
https://github.com/cloudreve/Cloudreve/releases
2、Windows 環境下,直接解壓壓縮包,啓動 cloudreve.exe 即可
3、Linux 下,直接解壓並執行主程序即可:
#解壓獲取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
# 賦予執行權限
chmod +x ./cloudreve
# 啓動 Cloudreve
./cloudreve
4、瀏覽器訪問
http://服務器IP:5212
Docker 部署
## 1、創建掛載目錄和文件(可自定義目錄)
mkdir -vp /data/software/cloudreve/{uploads,avatar} \
&& touch /data/software/cloudreve/conf.ini \
&& touch /data/software/cloudreve/cloudreve.db
## 2、一鍵啓動
docker run -d \
-p 5212:5212 \
--name cloudreve \
--mount type=bind,source=/data/software/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/data/software/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /data/software/cloudreve/uploads:/cloudreve/uploads \
-v /data/software/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:latest
## 3、查看容器日誌獲取默認管理員賬户用户名和密碼
docker logs -f cloudreve
Cloudreve 默認會監聽 5212 端口,可以在瀏覽器中訪問 http://服務器IP:5212 進入 Cloudreve.
配置文件
首次啓動時,Cloudreve 會在同級目錄下創建名為 conf.ini 的配置文件,可以修改此文件進行一些參數的配置,如修改默認的數據庫、使用 Redis、啓用 Https 等,保存後需要重新啓動 Cloudreve 生效。
[System]
; 運行模式
Mode = master
; 監聽端口
Listen = :5212
; 是否開啓 Debug
Debug = false
; Session 密鑰, 一般在首次啓動時自動生成
SessionSecret = 23333
; Hash 加鹽, 一般在首次啓動時自動生成
HashIDSalt = something really hard to guss
; 呈遞客户端 IP 時使用的 Header
ProxyHeader = X-Forwarded-For
; SSL 相關
[SSL]
; SSL 監聽端口
Listen = :443
; 證書路徑
CertPath = C:\Users\i\Documents\fullchain.pem
; 私鑰路徑
KeyPath = C:\Users\i\Documents\privkey.pem
; 啓用 Unix Socket 監聽
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock
; 設置產生的 socket 文件的權限
Perm = 0666
; 數據庫相關,如果你只想使用內置的 SQLite 數據庫,這一部分直接刪去即可
[Database]
; 數據庫類型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密碼
Password = root
; 數據庫地址
Host = 127.0.0.1
; 數據庫名稱
Name = v3
; 數據表前綴
TablePrefix = cd_
; 字符集
Charset = utf8mb4
; SQLite 數據庫文件路徑
DBFile = cloudreve.db
; 進程退出前安全關閉數據庫連接的緩衝時間
GracePeriod = 30
; 使用 Unix Socket 連接到數據庫
UnixSocket = false
; 從機模式下的配置
[Slave]
; 通信密鑰
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回調請求超時時間 (s)
CallbackTimeout = 20
; 簽名有效期
SignatureTTL = 60
; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
SameSite = Default
Secure = lse
; Redis 相關
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0
; 從機配置覆蓋
[OptionOverwrite]
; 可直接使用 `設置名稱 = 值` 的格式覆蓋
max_worker_num = 50
還有反向代理、進程守護等配置可參考項目文檔。
https://docs.cloudreve.org/
功能截圖
- 文件列表:支持列表、小圖標、大圖標展示
- 文件預覽:支持圖片、視頻等在線預覽
- 文件分類:創建文件分類,支持個性化標籤名、圖標、顏色
- 分享鏈接:支持圖片、視頻等在線預覽
- 個人設置
- 參數設置
- 存儲策略
可以説 Cloudreve 是一款優秀的開源文件管理系統,支持多種雲存儲,開箱即用,能幫助用户快速搭建起個人或團隊的網盤服務。快去安裝體驗吧~
項目地址:https://github.com/cloudreve/Cloudreve
最後
推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star:
https://github.com/chenyl8848/great-open-source-project
或者訪問網站,進行在線瀏覽:
https://chencoding.top:8090/#/
我創建了一個開源項目交流羣,方便大家在羣裏交流、討論開源項目。
但是任何人在羣裏打任何廣告,都會被 T 掉。
如果你對這個交流羣感興趣或者在使用開源項目中遇到問題,可以通過如下方式進羣:
關注微信公眾號:【Java陳序員】,回覆【開源項目交流羣】進羣,或者通過公眾號下方的菜單添加個人微信,並備註【開源項目交流羣】,通過後拉你進羣。
大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!