Docker實用案例:搭建屬於自己的Blinko開源筆記平臺
更新于:2025-04-14 13:03:47

Docker實用案例:搭建屬於自己的Blinko開源筆記平臺

  • 1.1 Blinko簡介

  • 1.2 主要特點

  • 1.3 主要使用場景

  • 2.1 本地環境規劃

  • 2.2 本次實踐介紹

  • 3.1 檢查Docker服務狀態

  • 3.2 檢查Docker版本

  • 3.3 檢查docker compose 版本

  • 5.1 創建部署目錄

  • 5.2 編輯部署檔

  • 5.3 創建Blinko容器

  • 5.4 查看Blinko容器狀態

  • 5.5 檢查Blinko容器日誌

  • 6.1 訪問Blinko初始頁

  • 6.2 註冊帳號

  • 7.1 設置中文語言

  • 7.2 新建筆記

  • 7.3 發佈閃念

  • 7.4 資源管理

一、Blinko介紹

1.1 Blinko簡介

Blinko是一款專為快速捕捉並整理短暫靈感而設計的開源專案。它允許用戶在靈感閃現的瞬間即時記錄想法,確保每一個創意火花都不會丟失。通過集成先進的人工智慧技術,Blinko 提供了強大的功能來幫助使用者更高效地管理個人知識庫。

1.2 主要特點

  • 🤖AI 增強筆記檢索:利用先進的RAG(檢索增強生成)技術,用戶可以通過自然語言查詢快速搜索並訪問自己的筆記,輕鬆找到所需資訊。

  • 🔒數據擁有權:Blinko 強調用戶的隱私權,所有筆記和數據均存儲在使用者自託管的環境中,確保使用者對信息擁有完全控制權。

  • 🚀高效快速:可以即時捕獲想法,並以純文字格式存儲,支援Markdown快速格式化和無縫分享。

  • 💡輕量級架構與重負荷處理能力:基於Next.js構建,Blinko 擁有簡潔的輕量級架構,同時提供強大的性能,既不會犧牲速度也不會影響效率。

  • 🔓開放協作:作為一個開源專案,Blinko 鼓勵社區貢獻,所有的代碼都是透明的,並且可以在GitHub上獲取,促進了合作精神和持續改進的文化。

  • 🎉完全免費:Blinko 是免費提供的,沒有隱藏費用或付費牆后的高級功能。

1.3 主要使用場景

  • 創意工作者:作家、藝術家、設計師等創意領域的專業人士可以使用Blinko 來捕捉一閃即逝的靈感,隨時記錄下那些可能成為下一個大作的點子。

  • 學生和教師:學習過程中產生的問題、課程中的重要知識點或者教學過程中的心得都可以迅速記錄下來,方便複習和回顧。

  • 團隊協作:項目團隊成員可以利用Blinko 記錄會議要點、任務分配或是突發的想法,促進團隊內部的信息共用和溝通。

  • 個人成長與發展:個人可以記錄日常學習的新知識、生活感悟或是職業規劃,通過持續的自我反思促進個人成長。

二、本次實踐規劃

2.1 本地環境規劃

本次實踐為個人測試環境,操作系統版本為|Ubuntu 22.04.1。

hostname IP地址 操作系統版本 Docker版本 鏡像版本 jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 latest

2.2 本次實踐介紹

1.本次實踐部署環境為個人測試環境,生產環境請謹慎; 2.在Docker環境下部署Blinko開源個人筆記工具。

三、本地環境檢查

3.1 檢查Docker服務狀態

檢查Docker服務是否正常運行,確保Docker正常運行。

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine      Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)      Active: active (running) since Mon 2024-09-09 10:43:35 CST; 3 weeks 5 days ago    Main PID: 695 (dockerd)       Tasks: 135 (limit: 9387)      Memory: 4.0G         CPU: 46min 46.854s      CGroup: /system.slice/docker.service              ├─  695 /usr/bin/dockerd              ├─  846 containerd --config /var/run/docker/containerd/containerd.toml

3.2 檢查Docker版本

檢查Docker版本

root@jeven01:~# docker -v Docker version 27.1.1, build 6312585

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

root@jeven01:~# docker compose version Docker Compose version v2.19.1

四、下載Blinko鏡像

執行以下命令,拉取以下Blinko相關鏡像。

docker pull blinkospace/blinko:0.5.4 docker pull  postgres:14

在這裡插入圖片描述

五、部署Blinko應用

5.1 創建部署目錄

  • 創建部署目錄

mkdir -p /data/blinko && cd /data/blinko

5.2 編輯部署檔

在`部署目錄下,創建docker-compose.yaml檔,其中宿主機映射埠等可以自定義配置。

vim docker-compose.yamlnetworks:   blinko-network:     driver: bridge services:   blinko-website:     image: blinkospace/blinko:0.5.4     container_name: blinko-website     environment:       NODE_ENV: production       # NEXTAUTH_URL: http://localhost:1111       # NEXT_PUBLIC_BASE_URL: http://localhost:1111       NEXTAUTH_SECRET: blinko       DATABASE_URL: postgresql://postgres:blinko@postgres:5432/postgres     depends_on:       postgres:         condition: service_healthy     # Make sure you have enough permissions.     # volumes:       # - ~/your-name/.blinko:/app/.blinko     restart: always     logging:       options:         max-size: "10m"         max-file: "3"     ports:       - 2600:1111     healthcheck:       test: ["CMD", "curl", "-f", "http://localhost:1111/"]       interval: 30s       timeout: 10s       retries: 5       start_period: 30s     networks:       - blinko-network   postgres:     image: postgres:14     container_name: blinko-postgres     restart: always     ports:       - 5435:5432     environment:       POSTGRES_DB: postgres       POSTGRES_USER: postgres       POSTGRES_PASSWORD: blinko       TZ: Asia/Shanghai     healthcheck:       test:         ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]       interval: 5s       timeout: 10s       retries: 5     networks:       - blinko-network      

5.3 創建Blinko容器

執行以下命令,創建Blinko容器。

root@jeven01:/data/blinko# docker compose up -d [+] Running 3/3  ✔ Network blinko_blinko-network  Created                                                                           0.1s  ✔ Container blinko-postgres      Healthy                                                                           5.8s  ✔ Container blinko-website       Started                                                                           6.1s

5.4 查看Blinko容器狀態

檢查Blinko容器狀態狀態,確保Blinko容器正常啟動。

root@jeven01:/data/blinko# docker compose ps NAME                IMAGE                      COMMAND                  SERVICE             CREATED             STATUS                  PORTS blinko-postgres     postgres:14                "docker-entrypoint.s…"   postgres            6 minutes ago       Up 6 minutes (healthy)     0.0.0.0:5435->5432/tcp, :::5435->5432/tcp blinko-website      blinkospace/blinko:0.5.4   "docker-entrypoint.s…"   blinko-website      6 minutes ago       Up 6 minutes (unhealthy)   0.0.0.0:2600->1111/tcp, :::2600->1111/tcp

5.5 檢查Blinko容器日誌

檢查Blinko容器日誌,確保Blinko服務正常運行。

docker compose logs

六、訪問Blinko服務

6.1 訪問Blinko初始頁

訪問位址:http://192.168.3.88:2600,將IP替換為自己伺服器IP地址。如果無法訪問到以下頁面,則檢查宿主機的防火牆是否關閉或者放行相關埠,雲伺服器則還需要設置安全組規則。

6.2 註冊帳號

點擊"Sign up" ,開始註冊帳號,進入帳號註冊頁面。

自定義註冊帳號即可,填寫帳號密碼資訊。

註冊帳號完畢后,重新回到登錄頁,登錄即可。

七、Blinko的基本使用

7.1 設置中文語言

Blinko應用支援中文,我們在左側功能表欄,選擇Settings --> Language -->簡體中文。

7.2 新建筆記

點擊筆記模組,編輯筆記內容後,點擊保存即可。

7.3 發佈閃念

如果有一些比較重要的靈感和想法,可以使用閃念功能,編輯後,直接發佈保存即可。

7.4 資源管理

在閃念中上傳的圖片等檔資源,會在資源模組中集中顯示。

八、總結

在Docker中部署Blinko的過程簡單直接,極大地提升了初始設置的速度和效率。使用Docker-compose文件,可以輕鬆配置所需的全部服務,使得整個系統更加穩定可靠。Blinko的容器化部署還帶來了額外的安全優勢,確保了應用程式與主機系統的隔離。通過Docker,更新Blinko或調整其配置也變得更加簡便快捷。