一、Flexus 云服務器 X 實例介紹
云服務器是現代科技的杰作。它以強大的計算能力和高可靠性,為各類業務提供堅實支撐。可遠程管理,輕松實現資源調配。具有高度的靈活性和擴展性,適應不同規模需求。安全防護嚴密,讓你的數據放心存儲。選擇云服務器,開啟高效便捷的云端之旅。
華為云下一代云服務器 Flexus X 實例煥新上線,新產品基于用戶業務負載動態和內存峰值畫像,動態推薦規格,減少算力浪費,提升資源利用率,按照算力規格變化,精準計算用量,按需靈活計費,搭配智能推介,始終確保成本更優,覆蓋高科技、零售、金融、游戲等行業大多數通用工作負載場景。
Flexus X 實例通過和其他服務組合,具備計算、鏡像安裝、網絡、存儲、安全等能力,您可根據業務需要靈活配置各資源。
本次測評使用的規格是:4 核 12G-100G-3M 規格的 FlexusX 實例基礎模式
二、Flexus 云服務器 X 實例配置
2.1 重置密碼
購買服務器的時候可以提前設置用戶名和密碼,因為我這里跳過了,所以購買完成后需要重置密碼,會短信或站內消息通過你的云服務器信息,重點是公網 IP 地址和用戶名,首先打開你的服務器控制臺,選擇重置密碼
勾選自動重啟,點擊確定即可
2.2 服務器連接
華為云服務器提供了多種鏈接方式,如使用控制臺提供的 VNC 方式登錄、使用 Linux/MacOS 系統主機登錄 Linux 彈性云服務器(即 ssh [email protected] 命令)或者使用 Putty、Xshell 等工具登錄 Linux 彈性云服務器。
我個人習慣使用MobaXterm這款軟件,添加 SSH 連接,輸出公網 IP、用戶名和端口(默認 22),連接即可。
2.3 安全組配置
安全組是一個邏輯上的分組,為同一個 VPC 內的云服務器提供訪問策略。用戶可以在安全組中定義各種訪問規則,當云服務器加入該安全組后,即受到這些訪問規則的保護。
系統為每個網卡默認創建一個默認安全組,默認安全組的規則是對出方向上的數據報文全部放行,入方向訪問受限。您可以使用默認安全組,也可以根據需要創建自定義的安全組。
主要需要填寫優先級(默認填 1 即可)、協議端口(協議一般為 TCP 或 UDP,端口一般選擇你項目需要暴露的端口即可),描述(選填,一般會填寫此端口的用途以免忘記了),其他默認點擊確定即可。安全組配置主要是暴露端口可以給外網訪問。
如果還不清楚可以參考文檔:安全組配置示例
2.4 Docker 環境搭建
本次服務器環境是 ubuntu 系統鏡像,需要自己安裝 docker 環境
使用 apt-get 命令安裝 docker 及其配置
# 安裝必要工具包 $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common# 添加 DockerGPG 秘鑰 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 配置倉庫源 $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # 更新 apt 包索引 $ sudo apt-get update# 安裝 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io# 添加 docker 鏡像源 $ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]}# 重啟 $ sudo systemctl daemon-reload$ sudo systemctl restart docker
測試 docker 安裝是否成功
root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```
檢查 docker 服務狀態
root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
檢查 docker compose 版本
root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2
三、Flexus 云服務器 X 實例部署Docspell
3.1 Docspell 介紹
Docspell 是一款個人文檔管理器。有時也被稱為“文檔管理系統”(DMS)。您需要一臺掃描儀將文件轉換為文件,然后Docspell 可以幫助您整理由此產生的雜亂,它可以將您從掃描儀、電子郵件和其他來源獲取的文件統一起來。Docspell 可以關聯標簽、設置對應項以及許多其他預定義和自定義元數據。還可以對文檔運行OCR(如果需要),提供全文搜索,并且具有出色的電子郵件集成功能。
·使用OCR 提取文本從所有文件中提取文本。對于掃描的文檔/圖像,使用Tesseract 進行OCR。文本經過分析,可用于全文搜索。
·文本分析使用ML 算法分析提取的文本,以找到可以自動注釋到文檔的屬性。
·支持多種文件 Docspell 可以讀取多種文件類型。可以提取ZIP 和EML(電子郵件文件格式)文件并導入其內容。
·轉換為PDF 所有文件都轉換為PDF。不必擔心原件。原始文件也會被存儲,并且可以原封不動地下載。從圖像數據(通常由掃描儀返回)創建PDF 時,生成的PDF 包含提取的文本并且可以搜索。
·全文搜索所有文件的提取文本和一些屬性(如名稱和注釋)都可用于全文搜索。全文搜索還可用于進一步限制搜索菜單的結果,您可以按標簽、通訊員等進行搜索。
Docspell 定位于一款簡單的文檔整理工具,其目標是幫助用戶以最小的精力輕松管理手頭的電子文檔。用戶可將來自多種來源的文檔,如掃描件和電子郵件,上傳到 Docspell,系統將自主地對其進行解析和管理。Docspell 的設計初衷便是通過自動化技術減少人工干預,優化歸檔和檢索流程,尤其適合那些處理大量文檔的用戶群體。
·官網:https://docspell.org/
·Github:https://github.com/eikek/docspell
3.2 Docspell 部署
·創建docker-compose.yml
version:'3.5'services:# The restserver and joex containers defined here are configured# using env variables. Both must connect to the same database and# solr instance. More information on configuring can be found here:# https://docspell.org/docs/configure## Please replace the values of the following with a custom secret# string:## - DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET# - DOCSPELL_SERVER_AUTH_SERVER__SECRET# - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE# (use the same value at the consumedir container!)## After creating an account, you may want to set signup mode to# "closed" or to "invite". When using invite, you must also set# DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD to some# secret.restserver:image:docspell/restserver:latestcontainer_name:docspell-restserverrestart:unless-stoppedports: -"7880:7880"environment: -TZ=Europe/Berlin -DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880 -DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET=admin123 -DOCSPELL_SERVER_AUTH_SERVER__SECRET= -DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD=dbpass -DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://db:5432/dbname -DOCSPELL_SERVER_BACKEND_JDBC_USER=dbuser -DOCSPELL_SERVER_BIND_ADDRESS=0.0.0.0 -DOCSPELL_SERVER_FULL__TEXT__SEARCH_ENABLED=true -DOCSPELL_SERVER_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell -DOCSPELL_SERVER_INTEGRATION__ENDPOINT_ENABLED=true -DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_ENABLED=true -DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE=integration-password123 -DOCSPELL_SERVER_BACKEND_SIGNUP_MODE=open -DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD= -DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED=falsedepends_on: -solr -dbjoex:image:docspell/joex:latestcontainer_name:docspell-joex## For more memory add corresponding arguments, like below. Also see## https://docspell.org/docs/configure/#jvm-options# command:# - -J-Xmx3Grestart:unless-stoppedenvironment: -TZ=Europe/Berlin -DOCSPELL_JOEX_APP__ID=joex1 -DOCSPELL_JOEX_PERIODIC__SCHEDULER_NAME=joex1 -DOCSPELL_JOEX_SCHEDULER_NAME=joex1 -DOCSPELL_JOEX_BASE__URL=http://docspell-joex:7878 -DOCSPELL_JOEX_BIND_ADDRESS=0.0.0.0 -DOCSPELL_JOEX_FULL__TEXT__SEARCH_ENABLED=true -DOCSPELL_JOEX_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell -DOCSPELL_JOEX_JDBC_PASSWORD=dbpass -DOCSPELL_JOEX_JDBC_URL=jdbc:postgresql://db:5432/dbname -DOCSPELL_JOEX_JDBC_USER=dbuser -DOCSPELL_JOEX_ADDONS_EXECUTOR__CONFIG_RUNNER=docker,trivial -DOCSPELL_JOEX_CONVERT_HTML__CONVERTER=weasyprintports: -"7878:7878"depends_on: -solr -db## Uncomment when using the "docker" runner with addons# volumes:# - /var/run/docker.sock:/var/run/docker.sock# - /tmp:/tmp# The consumedir container watches a directory for files to upload# to docspell restserver. This uses the `dsc` tool. For information# on the available options, see `dsc --help`.# https://github.com/docspell/dsc## The value after `Docspell-Integration` must match the secret# specified at the restserver via# DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE.## The --not-matches "**/.*" option is to exclude hidden files.consumedir:image:docspell/dsc:latestcontainer_name:docspell-consumedircommand: -dsc -"-d" -"http://docspell-restserver:7880" -"watch" -"--delete" -"-ir" -"--not-matches" -"**/.*" -"--header" -"Docspell-Integration:integration-password123" -"/opt/docs"restart:unless-stoppedvolumes: -./docs:/opt/docsdepends_on: -restserverdb:image:postgres:17.0container_name:postgres_dbrestart:unless-stoppedvolumes: -docspell-postgres_data:/var/lib/postgresql/data/environment: -POSTGRES_USER=dbuser -POSTGRES_PASSWORD=dbpass -POSTGRES_DB=dbnamesolr:image:solr:9container_name:docspell-solrrestart:unless-stoppedvolumes: -docspell-solr_data:/var/solrcommand: -bash --c -'precreate-core docspell; exec solr -f -Dsolr.modules=analysis-extras'healthcheck:test:["CMD","curl","-f","http://localhost:8983/solr/docspell/admin/ping"]interval:1mtimeout:10sretries:2#start_period: 30svolumes:docspell-postgres_data:docspell-solr_data:
·ports: 映射主機的7880 端口到容器的7880 端口
·volumes: 將主機目錄掛載到容器目錄
如果將上述代碼片段保存在名為docker-compose.yml 的文件中,則只需從同一文件夾中運行 docker compose up -d即可自動拉取Docspell 鏡像,并創建并啟動一個容器。up表示啟動服務,-d表示在后臺執行。docker-compose down命令用于停止和清理由docker-compose up啟動的服務。
·啟動服務
進入項目目錄,執行 docker-compose up -d 啟動命令,會自動拉取容器并運行
從Dockerhub 拉取Docspell 鏡像,地址:https://hub.docker.com/r/docspell/restserver
root@flexusx-c6b3:~/docspell# docker-compose up -dCreating network "docspell_default" with the default driverCreating volume "docspell_docspell-solr_data" with default driverCreating volume "docspell_docspell-postgres_data" with default driverPulling solr (solr:9)...9: Pulling from library/solr7478e0ac0f23: Pull complete90a925ab929a: Pull complete7d9a34308537: Pull complete80338217a4ab: Pull complete1a5fd5c7e184: Pull complete5b1aa583d1ef: Pull complete350cf53fd52a: Pull completeb317c36e5a10: Pull completeedf7dd409191: Pull completeb24483e35971: Pull complete4f4fb700ef54: Pull completeDigest: sha256:4267344d8d37c5982894f8424e923a66e21461fc2d61602d935837d5d464182bStatus: Downloaded newer image for solr:9Pulling db (postgres:17.0)...17.0: Pulling from library/postgresDigest: sha256:4ec37d2a07a0067f176fdcc9d4bb633a5724d2cc4f892c7a2046d054bb6939e5Status: Downloaded newer image for postgres:17.0Pulling restserver (docspell/restserver:latest)...latest: Pulling from docspell/restserverc6a83fedfae6: Already existsb10665a8e334: Pull complete4f4fb700ef54: Pull complete0c4bd9809776: Pull completeDigest: sha256:7184e723dcdd5241f02372748ad0aab6caca0722478abc892dc63c663e399f2dStatus: Downloaded newer image for docspell/restserver:latestPulling consumedir (docspell/dsc:latest)...latest: Pulling from docspell/dsc4abcf2066143: Already exists4f4fb700ef54: Pull completed574edd180f4: Pull completebdf75d862256: Pull completeDigest: sha256:9b7e0410737446b1409ce609061096a06281dcb3e03250443e96511583197865Status: Downloaded newer image for docspell/dsc:latestPulling joex (docspell/joex:latest)...latest: Pulling from docspell/joexc6a83fedfae6: Already exists56f69f5c011e: Pull completed46286f6b8c5: Pull complete4f4fb700ef54: Pull completeb3df55396b51: Pull complete6e868de79f50: Pull complete35510b35eae3: Pull completec3a0e85725ae: Pull completeDigest: sha256:b21d2285e49c0869d827dcba631ff10d574c673eb8df2ebf7fc1f326d0afd581Status: Downloaded newer image for docspell/joex:latestCreating docspell-joex ... Creating docspell-restserver ... Creating docspell-joexCreating docspell-restserver ... doneCreating docspell-consumedir ... Creating docspell-consumedir ... done
·配置安全組
在 Flexus 云服務器 X 實例的安全組管理頁面,添加入方向規則,接下來我們啟動服務需要監聽 7880 端口,所以添加安全組為 TCP:7880 協議端口。
·檢查容器狀態
檢查Docspell 容器狀態,確保容器正常啟動
root@flexusx-c6b3:~/docspell# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf4b65aae420b docspell/dsc:latest "dsc -d http://docsp…" 3 minutes ago Up 3 minutes docspell-consumedir55a2021c9b2a docspell/restserver:latest "/opt/docspell-rests…" 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:7880->7880/tcp, :::7880->7880/tcp docspell-restserver14d19ff6af95 docspell/joex:latest "/opt/joex-entrypoin…" 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:7878->7878/tcp, :::7878->7878/tcp docspell-joexec67e91edc8e postgres:17.0 "docker-entrypoint.s…" 17 minutes ago Up 3 minutes 5432/tcp postgres_db1f2f3fa23a36 solr:9 "docker-entrypoint.s…" 17 minutes ago Up 3 minutes (healthy) 8983/tcp docspell-solr
·訪問地址
內網:http://localhost:7880 外網:http://公網 IP:7880
·訪問結果
若出現此頁面,則部署docspell server 成功。
3.3 Docspell 使用
沒有帳號需要先注冊,注冊時,為集體和用戶選擇相同的名稱,然后使用此名稱和密碼登錄
輸出剛剛注冊的帳號和密碼進行登錄,確保 Collection ID和User Login一致
登錄成功后進入首頁儀表盤,左側是功能菜單選項,包括儀表盤、項目搜索、上傳文件,設置部分:Webhook、定期查詢、來源、分享,管理模塊:組織、人員、設備、標簽和文件夾,最后還有官方文檔說明的鏈接,右上角有用戶設置設置
點擊用戶圖標,可以查看組織資料、用戶資料、主題切換、退出登錄
用戶資料里,有很多設置項,比如 UI 設置(默認不支持中文),通知設置、郵箱設置和修改密碼
點擊設置圖標,可以查看項目搜索、管理數據、上傳文件、處理隊列
選擇文件,出現選擇文件列表,點擊提交即可開啟上傳任務
所有文件已上傳成功后有提示,并且告知現在正在處理中,稍后查看項目頁面,文件最終將到達該頁面,或者轉到處理頁面查看當前處理狀態,對中文的支持不是很好都亂碼了,文件名稱為中文的可能需要修改為英文才好看些
查看文件處理頁面
查看項目搜索頁
點擊文件封面,查看文件預覽頁
在現代企業和家庭生活中,處理和管理大量數字化文檔是不可避免的。隨著各類型信息越來越多地以數碼化形式出現,它們帶來的存儲和分類問題也越來越復雜。Docspell提供了一種能夠高效管理種類繁多的數字文件的解決方案,文件的上傳和整理流程就是上訴操作,目前的缺點是沒有中文支持,導致亂碼問題,還有更多有趣的設置和功能就需要自行探索了。
四、總結
隨著 Docspell 的出現,數字文件管理不再是件頭疼的事。它通過技術的力量簡單化了復雜的問題,使個人和企業均能輕松管理自己的電子數據,讓您專注于更重要的創造性任務。此次使用的 Flexus X 實例配置還是很高的 4 核 12G-100G-3M 規格的基礎模式,文件上傳和元數據獲取處理都很快,整理文件可修改的信息配置很多,項目整體運行穩定流暢,使用體驗很好。
體驗華為云服務器的卓越性能,現正值 828 B2B 企業節,助力企業輕松上云!無論是初創公司還是大型企業,都能享受高效、安全的計算服務。立即注冊,享受專屬優惠,快速部署,提升業務效率。
審核編輯 黃宇
-
服務器
+關注
關注
13文章
9700瀏覽量
87312 -
華為云
+關注
關注
3文章
2764瀏覽量
18116
發布評論請先 登錄

智慧水務信息化管理系統—水廠水務生產運行管理系統,用數據驅動供水智慧化升級!# 智慧水務管理系統# 智慧水務軟



上揚軟件助力SiC外延頭部企業部署CIM系統解決方案
《AI Agent 應用與項目實戰》閱讀心得3——RAG架構與部署本地知識庫
如何部署OpenVINO?工具套件應用程序?
是否可以使用OpenVINO?部署管理器在部署機器上運行Python應用程序?
如何管理企業圖紙文檔:探索三品圖紙文檔管理軟件的卓越解決方案

部署敏捷項目管理系統工具 ZenTao

部署個人知識管理系統 SiyuanNote

華為云 Flexus 云服務器 X 實例之 Docker 環境下部署 JmalCloud 個人網盤

智能水電表管理系統支持本地私有化部署嗎?


評論