Repolode
HoshinoSuzumi

HoshinoSuzumi/chronoframe

EXIF情報の抽出、撮影場所の特定、Live Photosの再生に対応し、アルバムや地図表示も備えたセルフホスト型フォトギャラリー。

代替できる製品:Google PhotosApple Photos

スター
1,949
フォーク
153
未解決の Issue
32
最終コミット
3 時間前

これは何?

ChronoFrameは、自分の写真を公開するためのセルフホスト型フォトギャラリーです。写真をアップロードすると、EXIFメタデータを抽出してプレビューを生成し、逆ジオコーディングで撮影場所を特定します。閲覧者は撮影時期、アルバム、地図から写真を探せるほか、WebGLビューアで大きな画像を拡大できます。

Live PhotosとMotion Photosにも対応しており、画像と動画を自動でペアリングして、ホバーまたは長押しで再生できます。アルバムは並べ替えや非表示にでき、パスワードで保護することも可能です。管理ダッシュボードでは、複数ファイルのアップロード、メタデータや評価の編集、一括ダウンロード、再インデックスを行えるほか、タスクキューとログを確認できます。

ストレージにはローカルファイル、S3互換サービス、OpenListを利用でき、CDN URLも設定できます。DockerとDocker Composeを使ったデプロイ手順が用意されており、初回起動時にはセットアップウィザードで管理者アカウントとストレージを作成できます。アプリはVueとNuxtで構築されています。

主な機能

  • 01アップロード後にEXIFを自動抽出し、プレビューを生成して撮影場所を特定。
  • 02Live PhotosとMotion Photosを自動でペアリングし、ホバーまたは長押しで再生。
  • 03WebGLによる拡大表示と、大きな画像のタイル描画。
  • 04並べ替え、非表示、パスワード保護に対応したアルバム。
  • 05MapLibreまたはMapboxを使った地図表示と、地名の表示言語の選択。
  • 06ローカルディスク、S3互換サービス、OpenListへの保存。

ユースケース

  • 自分のサーバーで写真のポートフォリオを公開する。
  • 家族やクライアントとパスワード保護されたアルバムを共有する。
  • 地図上の場所から写真ライブラリを閲覧する。
  • 写真をS3バケットに保存し、ギャラリーのフロントエンドから配信する。

クイックスタート

  1. 1

    ChronoFrame のサービス定義を含む docker-compose.yml を作成します

  2. 2

    コンテナをバックグラウンドで起動します

    docker compose up -d
  3. 3

    http://localhost:3000 を開き、セットアップウィザードを完了して管理者を作成し、ストレージを選択します

使う前に知っておきたいこと

  • Docker によるデプロイが推奨されています。ソースから実行するには Node.js 22 と pnpm 10.34.6 が必要です。
  • 公開環境では、プロキシの背後で HTTPS 経由で配信してください。
  • 一部の機能には、マップトークン(MapLibre/Mapbox)や S3、OpenList などのオプションサービスが必要です。

トピック

よくある質問

chronoframe とは?
EXIF情報の抽出、撮影場所の特定、Live Photosの再生に対応し、アルバムや地図表示も備えたセルフホスト型フォトギャラリー。 ChronoFrameは、自分の写真を公開するためのセルフホスト型フォトギャラリーです。写真をアップロードすると、EXIFメタデータを抽出してプレビューを生成し、逆ジオコーディングで撮影場所を特定します。閲覧者は撮影時期、アルバム、地図から写真を探せるほか、WebGLビューアで大きな画像を拡大できます。
chronoframe は無料で使えますか?ライセンスは?
chronoframe は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
chronoframe は今もメンテナンスされていますか?
活発にメンテナンス中。chronoframe の最終コミットは 2026年10月21日 です。
chronoframe は何に使えますか?
自分のサーバーで写真のポートフォリオを公開する。 家族やクライアントとパスワード保護されたアルバムを共有する。 地図上の場所から写真ライブラリを閲覧する。 写真をS3バケットに保存し、ギャラリーのフロントエンドから配信する。
chronoframe のインストール方法は?
ChronoFrame のサービス定義を含む docker-compose.yml を作成します コンテナをバックグラウンドで起動します: docker compose up -d http://localhost:3000 を開き、セットアップウィザードを完了して管理者を作成し、ストレージを選択します
chronoframe はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/HoshinoSuzumi/chronoframe

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト