基於 Telegram 的雲端硬碟 – Teldrive

前言

眾所皆知,Telegram 是一個聊天軟體,他相當慷慨給了非常大的檔案上傳空間,即便你不是付費用戶,你都可以在上傳單檔至多 2GB 的內容。

因此,有人基於這點,開發出了基於 Telegram 的雲端平台,名叫 Teldrive。可以在網站中上傳檔案,並丟到 Telegram 的伺服器上。這篇文章就是來說說如何安裝及使用他。

注意:請不要濫用免費資源,妥善的使用這些空間。

前置作業

你必須有一個 Telegram 帳號,並建立一個 Private Channel,這個稍後會用到。

安裝必要內容

首先你需要準備一台 Linux,我這邊是 Debian 12。且我們在安裝之前需要先安裝 Docker。

curl https://get.docker.com | sh

安裝完之後可以檢查一下。

docker --version
docker compose --version

接著建立一個檔案 docker-compose.yml 來裝上 PostgreSQL。

sudo vim docker-compose.yml

貼上以下內容,你可以更新中間的 POSTGRES_USERPOSTGRES_PASSWORDPOSTGRES_DB 成你想要的形狀:

services:
  postgres:
    image: groonga/pgroonga:latest-alpine-17
    container_name: postgres_db
    restart: always
    networks:
     - postgres
    environment:
      - POSTGRES_USER=teldrive
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=postgres
    volumes:
      - postgres_data:/var/lib/postgresql/data

networks:
  postgres:
    external: true

volumes:
  postgres_data:
    external: true

接者使用以下命令啟動他。

docker network create postgres
docker volume create postgres_data
docker compose up -d

安裝 Teldrive

我們要來寫 Teldrive 的配置文件了,找一個合適的地方建立檔案 config.toml

sudo vim config.toml

貼上以下內容,其中 data-source 的部分我是與上面的一致,如果你有更改的話這裡也需要更改。allowed-users 則是你要允許使用此服務的用戶、secretencryption-key 你可以到這裡使用工具產生。

[db]
data-source = "postgres://teldrive:secret@postgres/postgres"

[jwt]
allowed-users = ["CRE0809"]
secret = "your-jwt-secret-key"

[tg.uploads]
encryption-key = "your-encryption-key"

保存退出後,建立另一個文件 docker-compose.yml

sudo vim docker-compose.yml

貼上以下內容:

services:
  teldrive:
    image: ghcr.io/tgdrive/teldrive
    restart: always
    container_name: teldrive
    networks:
     - postgres
    volumes:
      - ./config.toml:/config.toml
      - ./storage.db:/storage.db
    ports:
      - 8080:8080
networks:
  postgres:                                 
    external: true

保存後,啟動服務。

touch storage.db && docker compose up -d

開始使用

使用瀏覽器前往剛剛主機的 Port 8080,你應該可以看到這個畫面。這邊我們使用 QR Code 登入。

001.jpg

登入後前往右上角的設定,重新整理一下 Channel 的部分,找到我們剛剛在前置作業建立的 Private Channel。

002.jpg

回到首頁,我們就可以開始使用這個雲端硬碟囉!

003.jpg

預覽圖片。

004.jpg