PDFの編集が行える「Stirling PDF」

無料のPDFツールが行えることはたいてい出来る便利なツールが「Stirling PDF」です。
ベータ版の機能になりますが、PDF内のテキストを編集出来るのが便利ですね。
インストールは、下記スクリプトを作成して実行するだけです。

sudo apt install nano
nano setup-stirlingpdf.sh
#!/bin/bash
# Stirling PDF セルフホスト セットアップスクリプト
# 実行方法: sudo bash setup-stirlingpdf.sh

set -e

INSTALL_DIR="/opt/docker/stirlingpdf"
SECRET_KEY=$(openssl rand -hex 32)

echo "=== Stirling PDF セットアップ開始 ==="

# ディレクトリ作成
mkdir -p "$INSTALL_DIR"/{trainingData,extraConfigs,customFiles,logs,pipeline}
cd "$INSTALL_DIR"

# docker-compose.yml 生成
cat > docker-compose.yml <<EOF
services:
  stirling-pdf:
    image: stirlingtools/stirling-pdf:latest
    container_name: stirling-pdf
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./trainingData:/usr/share/tessdata          # OCR用言語データ
      - ./extraConfigs:/configs                      # 設定ファイル
      - ./customFiles:/customFiles                   # カスタムファイル
      - ./logs:/logs                                 # ログ
      - ./pipeline:/pipeline                         # パイプライン設定
    environment:
      - DOCKER_ENABLE_SECURITY=false                 # 認証不要の場合は false
      - SECURITY_ENABLELOGIN=false                   # ログイン画面を無効化
      - LANGS=ja_JP                                  # 日本語ロケール
      - TZ=Asia/Tokyo
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s
EOF

echo ""
echo "=== docker-compose.yml を生成しました ==="
echo ""

# 起動
echo "=== コンテナを起動します ==="
docker compose up -d

echo ""
echo "=== セットアップ完了 ==="
echo "アクセス先: http://$(hostname -I | awk '{print $1}'):8080"
echo "インストール先: $INSTALL_DIR"
echo ""
echo "--- 管理コマンド ---"
echo "停止:    cd $INSTALL_DIR && docker compose down"
echo "再起動:  cd $INSTALL_DIR && docker compose restart"
echo "ログ確認: cd $INSTALL_DIR && docker compose logs -f"
echo "更新:    cd $INSTALL_DIR && docker compose pull && docker compose up -d"
sudo bash setup-stirlingpdf.sh

スクリプトがやること

  1. /opt/docker/stirlingpdf 配下に必要なディレクトリを自動作成
  2. docker-compose.yml を自動生成して起動

生成される構成

/opt/docker/stirlingpdf/
├── docker-compose.yml
├── trainingData/ ← OCR用言語データ(Tesseract)
├── extraConfigs/ ← 設定ファイル
├── customFiles/ ← カスタムファイル
├── logs/ ← ログ
└── pipeline/ ← パイプライン設定

アクセス

起動後は http://<サーバーIP>:8080 でアクセスできます。

このソフトに限りませんが、ブラウザ上で動かせるソフトは、ブラウザの機能を使って翻訳出来るのは便利ですね。

よく使う管理コマンド

# 停止
cd /opt/docker/stirlingpdf && docker compose down

# ログ確認
cd /opt/docker/stirlingpdf && docker compose logs -f

# イメージ更新
cd /opt/docker/stirlingpdf && docker compose pull && docker compose up -d

ログイン認証を有効にしたい場合

docker-compose.yml の environment を以下に変更してください。

sudo nano docker-compose.yml 
environment:
  - DOCKER_ENABLE_SECURITY=true
  - SECURITY_ENABLELOGIN=true
docker compose up -d

初期ユーザー名はadmin、パスワードはstirlingになっています。