構成の概要
Yokinsoft Paperlessは、自社サーバーにインストールして運用するオンプレミス型のシステムです。クラウドサービスへの登録は不要ですが、AI分類にGoogle Gemini APIを使用するためインターネット接続が必要です。
SQLite
API
注意:文書はAI解析時にGoogle Gemini APIへ一時的に送信されます。解析完了後のデータは自社サーバーのSQLiteデータベースにのみ保管されます。社内規定に照らして利用可否をご確認ください。
サーバー動作環境
本システムはLinuxおよびWindowsの両環境で動作します。いずれのOSでも、Python・Node.jsが動作する環境であれば稼働可能です。
| 項目 | 要件 |
|---|---|
| OS |
Linux(Ubuntu 20.04 LTS 以降推奨) 推奨 Windows 10 / 11 または Windows Server 2019 以降 対応 Linux・Windows ともに動作確認済みです。サービス常駐にはLinuxのsystemdまたはWindowsのサービス登録を使用します |
| Python | 3.10 以上 必須ファイル監視 (monitor) および DB初期化スクリプトで使用 |
| Node.js | 18.x 以上 必須WebアプリケーションサーバーおよびAPIサーバーで使用 |
| データベース | SQLite(追加インストール不要) 自動 better-sqlite3 経由でNode.jsから使用。外部DBサーバー不要 |
| ディスク空き容量 | FAX受信量に応じて確保 推奨 A4 FAX 1枚あたりおよそ100〜300KB。月1,000件受信で約300MB/月を目安にしてください |
| メモリ | 2GB 以上推奨 推奨 Node.js + Python が常時稼働するため最低1GB、2GB以上を推奨します |
| ネットワーク | 社内LAN接続 + インターネット接続 必須 ブラウザからのアクセスに社内LAN、AI解析のためインターネット接続が必要 |
| ポート | デフォルト 3000(設定変更可) 変更可社内ファイアウォールでサーバー:ポートへのアクセスを許可してください |
FAX受信環境の前提条件
本システムはFAX受信そのものは行いません。既存のFAX機器・サーバーが受信したファイルをフォルダに保存する機能を利用して連携します。
| 項目 | 要件 |
|---|---|
| FAX機器・サーバー | IP-FAXサーバー または FAXサーバーソフトウェア 必須 受信したFAXをファイルとして保存できるものが必要です |
| 保存形式 | PDF または TIFF 必須 受信FAXをPDFもしくはTIFF形式でサーバー上のフォルダに保存する設定が必要です |
| 保存先フォルダ | Paperlessサーバーからアクセス可能なローカルパス 必須 Pythonモニター(watchdog)がフォルダを監視します。マウント方式によって動作の安定性が異なります:
|
| 保存ファイル名の規則 | 日時・送信者情報を含む形式を推奨 推奨 ファイル名から受信日時・送信元番号を取得できる場合は自動抽出されます。取得できない場合はAI解析で補完されます |
確認のポイント:既存のFAXサーバーが「受信ファイルをフォルダに自動保存できるか」が導入の前提です。FAXサーバーの管理者にご確認ください。
Google Gemini APIキーの取得
文書のAI自動分類にはGoogle Gemini APIを使用します。APIキーの取得と設定が必要です。
重要:AI分類機能を使用する場合、受信したFAX文書の画像がGoogle Gemini APIに送信されます。社外秘・機密情報を含む文書が含まれる可能性がある場合は、社内ポリシーや情報セキュリティ規程を必ず確認した上で導入を判断してください。
APIキー取得の手順
-
Google AI Studio にアクセス
https://aistudio.google.com/ にアクセスし、Googleアカウントでサインインします。
-
APIキーを作成
画面左メニューの「Get API Key」→「Create API key」からAPIキーを生成します。
-
利用規約・料金を確認
Google Gemini APIには無償枠(Gemini 1.5 Flash等)があります。利用量によっては有償プランへの移行が必要になる場合があります。料金ページをご確認ください。
-
システム設定ファイルに記述
取得したAPIキーをサーバー側の設定ファイル(
.envまたはdb_config.py)に設定します。詳細はINSTALL_MONITORのセットアップ手順を参照してください。
| 項目 | 内容 |
|---|---|
| 使用APIサービス | Google Gemini API(生成AI) |
| 無償枠 | Gemini 1.5 Flash:1日あたり一定リクエスト数まで無償 無償枠の上限はGoogleの方針により変更されることがあります |
| 送信データ | FAX受信ファイル(PDF/TIFF 1件ずつ)の画像データ |
| データの取り扱い | Googleの利用規約・プライバシーポリシーに準じます Google Gemini API利用規約 |
| インターネット接続 | サーバーからGoogleのAPIエンドポイントへのアウトバウンドHTTPS通信が必要 |
導入前チェックリスト
導入を検討する際に確認しておくべき事項をまとめました。
技術環境
- Linux(Ubuntu 20.04 LTS以降推奨)またはWindows(10/11/Server 2019以降)サーバーが用意できる
- Python 3.10 以上がインストールできる
- Node.js 18.x 以上がインストールできる
- 社員のPC・スマートフォンからサーバーのポート(例: 3000)にアクセスできる
- サーバーからインターネット(Google API)へのHTTPS接続が可能
FAX受信環境
- 受信したFAXをPDF/TIFFとしてフォルダに自動保存できるFAXサーバーがある
- 保存フォルダにPaperlessサーバーからアクセス可能(ローカルまたはマウント)
セキュリティ・情報管理
- FAX文書をGoogleクラウドへ一時送信することについて、社内セキュリティポリシーを確認した
- Google Gemini APIキーを取得できる(Googleアカウントが用意できる)
- Google Gemini APIの利用規約・料金を確認した
- 本システムへのアクセスをLAN内に限定する場合のネットワーク設定を確認した
セットアップの大まかな流れ
詳細な手順は同梱の INSTALL_WEB.md および INSTALL_MONITOR.md を参照してください。ここでは流れの概要を示します。
-
リポジトリを取得
GitHubからソースコードをダウンロードまたはクローンします。
-
Node.js 依存パッケージをインストール
web/ディレクトリでnpm installを実行します。 -
Python 依存パッケージをインストール
monitor/requirements.txtを使ってpip install -r requirements.txtを実行します。 -
データベースを初期化
scripts/init_sqlite_db.pyを実行してSQLiteデータベースとテーブルを作成します。 -
設定ファイルを作成
Google Gemini APIキー、FAX受信フォルダパス、その他の環境設定を記述します。
-
サービスとして登録・起動
同梱の
.service.sampleファイルを参考に systemd サービスとして登録し、自動起動を設定します。
インストールに必要なスキル
自社のIT担当者やエンジニアが導入する場合のスキル目安をまとめました。プログラミング知識は不要です。定型的なIT担当者レベルで対応できる範囲です。→ Yokinsoftの有償導入支援も選択できます
コマンドライン操作
ターミナル(PowerShell / bash)でのディレクトリ移動・コマンド実行ができること。例:cd・pip install・npm install
Python実行環境の準備
監視モジュール(monitor)に使用。Python(3.10以上)のインストールと仕想環境(venv)の作成・有効化ができること。公式インストーラーを使えれば大丈夫です。
Node.js実行環境の準備
Webインターフェース(web)に使用。Node.js(v18以上)のインストールとnpm installによるパッケージ取得ができること。
テキストファイルの編集
設定ファイル(.env)をメモ帳・VSCode等で開き、APIキーやフォルダパスを書き換えられること。
Googleアカウント操作
Google AI StudioにGemini APIキーを発行できること(無料枠あり)。ブラウザ操作のみで完結します。
Git / GitHubの基本操作
リポジトリのクローン(git clone)ができること。GUIツール(GitHub Desktop等)でも代替可能です。
ネットワーク・サーバー基礎
社内ネットワーク内でのポート開放やファイアウォール設定の確認ができると、Webインターフェースの公開がスムーズです。
プログラミング知識は不要です。各ステップはドキュメントの手順に沿って進めるだけで完了します。監視モジュールのカスタマイズ(分類ルール変更等)にはPythonの基礎知識、WebUIのカスタマイズにはNode.js / TypeScriptの基礎知識があると対応しやすくなります。