LightFile Shotへの移行
旧LightFileからLightFile Shotへの移行ガイド
このガイドでは、旧LightFile(v6.0.0未満)からLightFile Shot(v6.0.0以上)への移行方法を説明します。
LightFile Shotの位置づけ
LightFile Shotは、ワンタイム処理に特化した軽量CLIツールです。旧LightFileのすべての機能を引き継ぐのではなく、シンプルさと軽量さを重視して設計されています。
- 主な用途: ユーザーアップロード画像の最適化、CI/CDパイプライン、手動実行
- 対応環境: ローカルファイルシステムのみ
- 特徴: シンプル、高速起動、低メモリ、処理履歴なし
この移行ガイドが適している方
- ワンタイム処理が中心の用途
- ローカルファイルシステムのみを使用
- シンプルな設定で動作させたい
- 軽量で高速なツールを求めている
もし定期的なバッチ処理やリモートファイルシステムが必要な場合は、LightFile Batchへの移行ガイドを参照してください。
インストール方法の充実
旧LightFileでは実行ファイルのダウンロードのみでしたが、LightFile Shotでは複数のパッケージマネージャーおよびインストーラーから選択できます:
- Linux: APT (Ubuntu/Debian)、YUM/DNF (RHEL/CentOS/Fedora)、Shell Script、Direct Binary
- macOS: Shell Script、Direct Binary
- Windows: Chocolatey、Scoop、PowerShell Script、Direct Binary
詳細はインストールガイドを参照してください。
機能制限について
LightFile Shotは、シンプルさと軽量さを重視し、旧LightFileの多くの機能に対応していません。以下の表で機能の対応状況を確認してください。
機能対応表
| 機能カテゴリ | 旧LightFile | LightFile Shot | 備考 |
|---|---|---|---|
| 基本機能 | |||
| JPEG最適化 | ✅ | ✅ | 引き続き対応 |
| PNG最適化 | ✅ | ✅ | 引き続き対応 |
| 品質設定(低・中・高) | ✅ | ✅ | 引き続き対応 |
| 並列処理 | ✅ | ✅ | 引き続き対応 |
| ドライランモード | ✅ | ✅ | 引き続き対応 |
| 動作モード | |||
| 上書きモード | ✅ | ✅ | 元ファイルを最適化 |
| 複製モード | ❌ | ✅ | 新機能: 別ディレクトリに保存 |
| 対応ファイルシステム | |||
| ローカルファイルシステム | ✅ | ✅ | 引き続き対応 |
| FTP/FTPS | ✅ | ❌ | Shot非対応 |
| SFTP | ✅ | ❌ | Shot非対応 |
| WebDAV | ✅ | ❌ | Shot非対応 |
| S3/S3互換ストレージ | ✅ | ❌ | Shot非対応 |
| ファイルフィルタリング | |||
| ファイルサイズフィルタ | ✅ | ✅ | --min-size, --max-size |
| 拡張子フィルタ | ✅ | ✅ | --ext |
| Globパターン(include) | ✅ | ✅ | --include |
| Globパターン(exclude) | ✅ | ✅ | --exclude |
| 更新日時フィルタ | ✅ | ❌ | Shot非対応 |
| 処理済みファイル管理 | |||
| KVSによる処理済み管理 | ✅ | ❌ | Shot非対応(毎回すべて処理) |
| インデックスファイル | ✅ | ❌ | Shot非対応 |
| バックアップ | |||
| 自動バックアップ(ローカル) | ✅ | ❌ | Shot非対応 |
| 自動バックアップ(S3) | ✅ | ❌ | Shot非対応 |
| バックアップモード設定 | ✅ | ❌ | Shot非対応 |
| ディスク容量管理 | ✅ | ❌ | Shot非対応 |
| ログ・通知 | |||
| 進捗表示 | ✅ | ✅ | 引き続き対応 |
| ログレベル設定 | ✅ | ✅ | --log-level |
| ジャーナル機能(NDJSON) | ❌ | ✅ | 新機能: --journal |
| Email通知(SMTP) | ✅ | ❌ | Shot非対応 |
| 簡易Email通知 | ✅ | ❌ | Shot非対応 |
| Slack通知 | ✅ | ❌ | Shot非対応 |
| 設定管理 | |||
| コマンドラインオプション | ✅ | ✅ | 引き続き対応 |
| YAML設定ファイル | ❌ | ❌ | 両バージョンとも非対応 |
| 環境変数 | ✅ | ✅ | LF_TOKEN, LOG_LEVEL |
| その他 | |||
| ライセンス管理 | ✅ | ✅ | トークンベースに変更 |
| シリアルコード認証 | ✅ | ❌ | Shot非対応(トークンに変更) |
分析モード(--analyze) | ✅ | ❌ | Shot非対応 |
| HTTPサイズ検証 | ✅ | ❌ | Shot非対応 |
| エラーリトライ | ✅ 設定可能 | ❌ | Shot非対応 |
重要な機能制限のまとめ
❌ Shot非対応の主要機能
-
リモートファイルシステムのサポート
- FTP/FTPS、SFTP、WebDAV、S3には非対応
- ローカルファイルシステムのみ対応
-
処理済みファイルの管理
- KVSによる処理済み管理に非対応
- 毎回すべてのファイルを対象に処理(ただし、最適化済みファイルは自動的にスキップ)
-
自動バックアップ機能
- 自動バックアップ機能に非対応
- 複製モード(
lightfile-shot /source /dest)で元ファイル保持が可能
-
通知機能
- Email通知(SMTP/簡易Email通知)に非対応
- Slack通知に非対応
- ジャーナル機能(
--journal)でログを記録し、外部スクリプトで通知可能
-
インデックスファイル
- インデックスファイルからの処理対象指定に非対応
-
更新日時フィルタ
--after/--beforeオプションに非対応findコマンドなどで事前にフィルタリング可能
✅ 新しく追加された機能
-
複製モード
- 元ファイルを変更せず、別ディレクトリに最適化版を保存
lightfile-shot /source /destination
-
ジャーナル機能
- 処理結果を詳細にNDJSON形式で記録
--journal result.ndjson
基本的な使い方
ライセンストークンのセットアップ
旧LightFileのシリアルコードは使用できません。新しいライセンストークンが必要です。
# ファイルに保存(推奨)
mkdir -p ~/.lightfile-next
echo "your-license-token" > ~/.lightfile-next/token
# または環境変数で設定
export LF_TOKEN="your-license-token"基本コマンド
# 上書きモード(元ファイルを最適化)
lightfile-shot /path/to/images
# 複製モード(別ディレクトリに保存)
lightfile-shot /source /destination
# 並列処理
lightfile-shot /path/to/images -j 4移行例
例1: 基本的な移行
旧LightFile
lightfile --dir /var/www/images \
--serial ABC123 \
--quality medium \
--exclude "**/thumbnails/**"LightFile Shot
# ライセンストークンを事前設定
echo "your-token" > ~/.lightfile-next/token
# 実行
lightfile-shot /var/www/images \
--quality medium \
--exclude "**/thumbnails/**"変更点:
--serial→ ライセンストークンファイル--dirオプション → 第1引数- 実行ファイル名が
lightfile-shotに変更
例2: 複製モード(ユーザーアップロード画像)
旧LightFile
lightfile --dir /tmp/uploads \
--serial ABC123 \
--quality high \
--no-backupLightFile Shot
# 複製モード:元ファイルを保持しつつ最適化版を別保存
lightfile-shot /tmp/uploads /var/www/public/images --quality high変更点:
--no-backupオプション不要(バックアップ機能非対応)- 複製モードで元ファイル保持が可能
次のステップ
- LightFile Shotドキュメント - 完全なドキュメント
- 機能比較表 - 詳細な機能対応表
- 性能改善について - 性能改善の詳細
- コマンドの変更点 - コマンドラインオプションの対応表
もし高度な機能が必要な場合は、LightFile Batchへの移行ガイドも検討してください。