コンテンツにスキップ

ファイル配置と動作の仕組み

このページでは、本アプリケーションのトラブルシューティングや設定のバックアップ、アンインストール時に役立つファイル配置と、LoPiQ が軽量・高速に動作する技術仕様について説明します。


📂 各 OS でのファイル配置

LoPiQ をインストール・実行した際、システム上に以下のファイルおよびディレクトリが配置されます。設定のバックアップや手動でのクリーンアップを行う際の参考にしてください。

🍎 macOS 環境 (DMG パッケージからインストールした場合)

パス 区分 役割
/Applications/LoPiQ.app/ アプリケーション本体 macOS 形式のアプリケーションバンドルです。実行バイナリおよび画面表示用の静的アセット(static/)がこの中に内包されています。
~/Library/Application Support/lopiq/config.json ユーザー設定ファイル アプリケーションの設定(待受ポート番号、登録済みの画像フォルダの一覧)を保存するファイルです。バックアップを取る際はこのファイルをコピーしてください。

🐧 Linux 環境 (Debian/Ubuntu .deb パッケージからインストールした場合)

パス 区分 役割
/opt/lopiq/ インストールディレクトリ 実行バイナリ lopiq およびアセットディレクトリ static/ が配置されます。
/usr/bin/lopiq シンボリックリンク システム全体から lopiq コマンドで起動できるようにするための /opt/lopiq/lopiq へのシンボリックリンクです。
/lib/systemd/system/lopiq.service systemd サービス定義 システム起動時の自動起動や、クラッシュ・設定変更時の自動再起動を管理するためのサービスユニットファイルです。
/root/.config/lopiq/config.json ユーザー設定ファイル systemd サービス(root ユーザー権限)で動作している場合の設定ファイルです。※一般ユーザー権限で手動実行した場合は ~/.config/lopiq/config.json に作成されます。

🏗️ 動作の仕組みと技術スタック

LoPiQ は、PC のローカル環境で「極めて軽快に動作する画像ビューア」を目指して設計されており、以下のようなシンプルな構成を取っています。

1. 超軽量な Go 製バックエンド

  • フレームワーク非依存: サードパーティの重いフレームワークに依存せず、Go の標準ライブラリ(net/httphtml/template など)のみで実装されたシングルバイナリの HTTP サーバーです。
  • 高速起動・低リソース: 実行ファイル単体で動作するため起動は一瞬であり、メモリや CPU の消費量も極めて低く抑えられています。データベース等のミドルウェアも一切不要です。

2. HTMX によるスマートな画面遷移

  • HTML 駆動 (SSR): React や Vue などの巨大なクライアントサイドフレームワークを使用せず、軽量ライブラリ HTMX を採用しています。
  • スムーズな操作感: 画面の必要な部分だけをサーバー側でレンダリングした HTML 差分として非同期取得し、ブラウザ上で部分的に差し替えるため、SPA(シングルページアプリケーション)のような滑らかな操作感を提供しつつ、フロントエンドの軽量化を実現しています。

3. システムでの稼働管理

  • Linux (systemd): OS 標準のサービス管理機構に登録し、OS 起動時の自動起動や、Web 画面からのポート変更指示によるスムーズな自動再起動処理を保証しています。
  • macOS (.app): 標準のアプリケーション起動プロセスとして、起動時に自動的にローカルサーバーをバックグラウンドで開始し、ブラウザで画面を開きます。設定画面から終了指示を出すことで安全にサーバープロセスが終了します。