分类: 未分类

  • Docker安装Stirling-PDF

    Stirling-PDF 是一款基于 Docker 容器的开源 PDF 处理工具,专为OCR设计,能够将扫描的 PDF 文件中的图像或文字转换为可编辑的文本。通过集成 Tesseract OCR 引擎,Stirling-PDF 使得用户能够轻松提取 PDF 文件中的文字,无论是扫描文档、图像还是其他类型的图文混合内容。

    该工具提供了一个简洁的 Web 界面,用户可以上传 PDF 文件进行批量处理、OCR 识别和文本提取。它支持多语言识别,适用于不同语言的 OCR 数据包,能够帮助用户处理多种语言的文档。

    1. 创建 stirling-pdf 目录并进入

    首先,我们需要在你的服务器上创建一个新的目录来存放相关文件,并进入该目录。

    mkdir stirling-pdf && cd stirling-pdf

    2. 下载 Tesseract OCR 库

    Stirling-PDF 使用 Tesseract OCR 库进行文字识别。因此,我们需要下载其相关的语言数据。

    git clone https://github.com/tesseract-ocr/tessdata.git

    3. 创建 docker-compose.yml 文件

    创建 docker-compose.yml 文件,以便使用 Docker Compose 部署 Stirling-PDF 服务。

    在 stirling-pdf 目录下,创建并编辑 docker-compose.yml 文件:

    services:
      stirling-pdf:
        restart: always
        image: frooodle/s-pdf:latest
        ports:
          - '8080:8080'  # 映射容器内的 8080 端口到宿主机的 8080 端口
        volumes:
          - ./tessdata:/usr/share/tessdata
          - ./extraConfigs:/configs
          - ./customFiles:/customFiles/
          - ./logs:/logs/
        environment:
          - DOCKER_ENABLE_SECURITY=false
          - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
          - LANGS=en_GB

    4. 启动 Stirling-PDF

    创建完 docker-compose.yml 文件后,可以使用以下命令启动 Stirling-PDF 服务:

    docker compose up -d

    该命令会自动下载所需的 Docker 镜像并启动容器。启动完成后,Stirling-PDF 服务将开始运行。

    5. 使用浏览器访问 Stirling-PDF

    启动成功后,你可以在浏览器中通过以下地址访问 Stirling-PDF:

    http://<IP>:8080
    • 替换 <IP> 为你的服务器的 IP 地址,你就可以在浏览器中访问并使用 Stirling-PDF 进行 PDF 文件的处理了。
  • 使用 SSH 端口转发访问 Docker Hub 拉取镜像

    1. 原理解析

    SSH 端口转发(Port Forwarding)是一种将本地端口流量通过 SSH 连接重定向到远程服务器的方式。在本方案中,我们将本地端口映射到 Docker Hub 服务器(registry-1.docker.io),让本地 Docker 以为它正在直接访问 Docker Hub。

    示意图:

    [本地 Docker 客户端] → [SSH 隧道] → [远程服务器] → [Docker Hub]

    这样,本地 Docker 发送的请求会通过 SSH 隧道访问 Docker Hub 并返回数据。


    2. 使用条件

    • 一台可访问 Docker Hub 的服务器
    • 服务器上安装了 SSH
    • 本地设备(Windows/Linux/macOS)可通过 SSH 连接到服务器

    3. 配置 SSH 端口转发

    3.1 在本地终端运行 SSH 端口转发

    ssh -N -L 5000:registry-1.docker.io:443 user@your-server-ip
    • -N:不执行远程命令,仅进行端口转发
    • -L 5000:registry-1.docker.io:443:将本地 5000 端口映射到远程 registry-1.docker.io 的 443 端口
    • user@your-server-ip:远程服务器的 SSH 账户

    保持这个 SSH 连接不关闭,否则端口转发会失效。


    4. 配置 Docker 访问代理

    4.1 在 daemon.json 中修改 Docker 配置

    编辑 Docker 的配置文件:

    nano /etc/docker/daemon.json

    添加以下内容:

    {
      "proxies": {
        "default": "http://127.0.0.1:5000"
      }
    }

    保存后,重启 Docker

    systemctl restart docker

    5. 测试 Docker 是否可以正常拉取

    执行拉取测试:

    docker pull ubuntu

    如果拉取成功,说明 SSH 端口转发生效。

  • Debian12安装Umami 网站分析工具

    Umami是一款轻量级、开源的 网站分析工具,可用于 隐私友好型 统计,不依赖于 Google Analytics,支持 自托管,且对 GDPR / CCPA 友好。

    1. 安装 Docker 和 Docker Compose

    在服务器上运行以下命令安装 Docker:

    curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

    2. 配置 Umami

    在 服务器上创建目录 umami 并进入该目录:

    mkdir -p ./umami && cd ./umami

    创建 docker-compose.yml 文件:

    nano docker-compose.yml

    文件内容

    services:
      umami:
        image: ghcr.io/umami-software/umami:postgresql-latest
        ports:
          - "3002:3000"
        environment:
          DATABASE_URL: postgresql://umami:umami@db:5432/umami
          DATABASE_TYPE: postgresql
          APP_SECRET: replace-me-with-a-random-string
        depends_on:
          db:
            condition: service_healthy
        init: true
        restart: always
        healthcheck:
          test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
          interval: 5s
          timeout: 5s
          retries: 5
      db:
        image: postgres:15-alpine
        environment:
          POSTGRES_DB: umami
          POSTGRES_USER: umami
          POSTGRES_PASSWORD: umami
        volumes:
          - umami-db-data:/var/lib/postgresql/data
        restart: always
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
          interval: 5s
          timeout: 5s
          retries: 5
    volumes:
      umami-db-data:

    3. 启动 Umami

    # 启动
    docker compose up -d
    
    # 查看运行状态
    docker compose ps

    4. 访问 Umami

    默认账号:admin
    默认密码:umami
    
    http://<服务器IP>:3002
  • VMware Workstation 配置虚拟机开机自动启动

    打开启动文件夹

    • 按 Win + R 组合键,输入 shell:startup 并回车。
    • 这将打开 Windows 的 启动 文件夹。

    创建批处理文件

    • 在 启动 文件夹内,右键选择 新建 > 文本文档。
    • 将文件命名为 start_vm.bat,并确保扩展名为 .bat(如果看不到扩展名,需要在文件资源管理器中启用 文件扩展名可见)。
    • 使用文本编辑器(如记事本)打开 start_vm.bat 文件,并输入以下内容:
    @echo off
    "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" start "D:\VM\Debian12-Docker\Debian12-Docker.vmx"
    • D:\VM\Debian12-Docker\Debian12-Docker.vmx 为你需要启动的虚拟机
    • 保存并关闭文件。

    测试自动启动

    • 双击 start_vm.bat 文件,确认虚拟机能正常启动。
    • 重新启动计算机,验证虚拟机是否随 Windows 开机自动运行。
  • 小米电视安装jellyfin

    Jellyfin是一个免费且开源的多媒体服务器软件。它旨在帮助用户管理和流式传输他们的个人媒体内容,如电影、电视节目、音乐和照片。以下是Jellyfin的一些关键特点:

    • 开源和免费:
      • Jellyfin是一个完全免费和开源的项目,这意味着用户可以自由地使用、修改和分发它。
    • 媒体管理:
      • 它允许用户组织和管理他们的媒体库,包括自动获取元数据、封面艺术和字幕。
    • 跨平台支持:
      • Jellyfin支持多种操作系统和设备,包括Windows、macOS、Linux、Android、iOS和智能电视。

    启用小米电视的ADB服务

    • 首先,您需要在小米电视上启用开发者选项和ADB调试。具体步骤可能因小米电视型号和系统版本而异,但通常包括:
      • 进入小米电视的“设置”菜单。
      • 找到“关于本机”或“我的电视”等选项,并多次点击“版本号”或类似选项,直到出现“您已处于开发者模式”的提示。
      • 返回“设置”菜单,找到“开发者选项”并进入。
      • 在“开发者选项”中,启用“ADB调试”和“允许安装未知来源应用”。
    • 确保您的电脑和小米电视连接到同一局域网。
    • 找到您小米电视的IP地址。您可以在小米电视的“设置”->“网络”中找到。

    ADB下载

    • 访问Android开发者官网下载ADB工具:
    • 请根据您的操作系统(Windows、macOS或Linux)下载相应的版本。
    • 下载完成后,解压缩文件并将adb.exe文件所在的目录添加到系统的环境变量中。

    jellyfin下载

    ADB连接和安装

    # adb连接小米电视的IP
    C:\Users\qixin\Downloads>adb connect 192.168.1.112
    already connected to 192.168.1.112:5555
    
    # 列出设备,需要电视adb授权同意
    C:\Users\qixin\Downloads>adb devices
    List of devices attached
    192.168.1.112:5555   unauthorized
    
    # 在小米电视上,允许来自电脑的ADB调试。
    # 再次列出设备
    C:\Users\qixin\Downloads>adb devices
    List of devices attached
    192.168.1.112:5555   device
    
    # 安装jellyfin
    C:\Users\qixin\Downloads>adb install jellyfin-androidtv-v0.18.4-release.apk
    Performing Streamed Install
    Success
    
    C:\Users\liqixin\Downloads>

    步骤详解:

    1. 连接ADB:
      • 使用adb connect 192.168.1.112命令连接到小米电视。将192.168.1.112替换为您的电视IP地址。
      • 第一次连接时,小米电视会弹出一个ADB调试授权提示,请选择“允许”。
    2. 验证连接:
      • 使用adb devices命令列出已连接的设备。如果显示device,则表示连接成功。如果显示unauthorized,说明电视没有允许电脑调试,请到电视上允许。
    3. 安装Jellyfin:
      • 使用adb install jellyfin-androidtv-v0.18.4-release.apk命令安装Jellyfin客户端。将jellyfin-androidtv-v0.18.4-release.apk替换为您下载的apk文件名。
      • 安装成功后,小米电视上会显示Jellyfin应用图标。

    注意事项:

    • 请确保您的电脑和小米电视处于同一局域网。
    • 在安装过程中,请保持网络连接稳定。
    • 如果遇到任何问题,请检查ADB和Jellyfin的安装步骤是否正确。
    • 小米电视的系统更新可能会影响ADB的连接,如果更新后无法连接,需要重新允许电脑调试。
  • Windows拆分映像

    在从无法容纳 Windows 映像文件大小的介质安装 Windows 时,可将 Windows 映像 (.wim) 文件拆分为一组较小的 (.swm) 文件,例如:

    • DVD(标准单面 DVD 存储 4.7GB)。
    • 格式化为 FAT32 的 U 盘。 FAT32 是启动许多新式(基于 UEFI 的)PC 所必需的,但它最大文件大小为 4GB。 (解决方法:创建具有多个分区的 U 盘。)

    限制

    • 无法修改一组拆分映像 (.swm) 文件。
    • 只有在所有 .swm 文件都在同一文件夹中时,才支持应用拆分的映像 (.swm) 文件。 这意味着,对于 DVD 部署,需要先将文件复制到目标 PC,然后才能使用 Windows 安装程序或 DISM/Apply-Image,如本主题中所示。

    拆分文件

    • 装载 Windows 安装介质。
    • 将 sources\install.wim 复制到本地 PC。 以下示例使用 G:\sources\install.wim 作为所复制文件的位置。
    • 拆分 Windows 映像:
    Dism /Split-Image /ImageFile:G:\sources\install.wim /SWMFile:J:\sources\install.swm /FileSize:4000

    其中:

    • G:\sources\install.wim 是要拆分的映像文件的名称和位置。
    • J:\sources\install.swm 是拆分的 .swm 文件的目标名称和位置。 第一个拆分的 .swm 文件将会被命名为 install.swm。 接下来的文件的文件名会带有数字,例如,install2.swm 文件、install3.swm 文件,等等。
    • 4000 是每个要创建的拆分 .swm 文件的最大大小(以 MB 为单位)。
    • 现在,J:\sources 文件夹中有一组 install.swm 文件。