ChronoFrame
セルフホスト型の個人フォトアルバムアプリ。複数のストレージバックエンドとインテリジェントなEXIF解析をサポートし、写真家が写真データを完全にコントロールできます。
スマートダウンロード
プロジェクトのホームページへ
インストーラはまだありません — ソースリポジトリをご覧ください
セルフホスト型のフォトアルバム。Google Photosの代替として、地図での閲覧とEXIFの自動抽出に対応。
主な機能
- スマートEXIF抽出:撮影時間、位置、カメラパラメータを自動認識
- 逆ジオコーディング:緯度経度から撮影場所の名称を自動検索
- インタラクティブマップ:地図上ですべての写真の地理位置を閲覧
- マルチストレージバックエンド:ローカルストレージ、S3互換ストレージ、CDNアクセラレーションをサポート
- 高効率サムネイル:ThumbHash技術でプレビューを高速生成
できないこと
- •デフォルトの管理者パスワードは脆弱です(CF1234@!)。必ず.envで変更してください。ローカルストレージを使用する場合は、ディスク容量に注意してください。地図機能にはMapTilerまたはMapboxのTokenが必要です(無料枠で十分です)。逆ジオコーディングはMapbox Tokenに依存しているため、設定しないと場所名が表示されません。
使用例
- フォトグラファーの個人作品ポートフォリオサイト:独自ドメインで作品集を公開
- 家族写真のアーカイブ:自前で家族アルバムを構築し、クラウドサービスへの依存を回避
- 旅行写真の整理:撮影場所を自動的に抽出し、地図上で旅を振り返る
詳細説明
ChronoFrame は、写真家や写真愛好家のために設計されたモダンなセルフホスト型フォトアルバムアプリケーションです。Nuxt 4 + TypeScript + TailwindCSS + Drizzle ORM を基盤に構築されており、写真のアップロード、閲覧、管理のための滑らかなウェブインターフェースを提供します。主な機能には、インテリジェントな EXIF メタデータ抽出(撮影日時、場所、カメラパラメータを自動認識)、逆ジオコーディング(撮影位置を自動的にタグ付け)、インタラクティブなマップ閲覧、複数のストレージバックエンドのサポート(ローカルファイルシステムまたは S3 互換ストレージ)が含まれます。ThumbHash を使用してサムネイルを効率的に生成し、WebGL を活用して高品質な画像レンダリングを実現しています。Docker によるワンクリックデプロイ(プリビルドイメージは GHCR と Docker Hub で入手可能)に対応し、管理画面では一括アップロード、ドラッグ&ドロップアップロード、サムネイルの自動生成をサポートします。CDN による画像配信の高速化にも対応しています。Google Photos や Flickr などのクラウドサービスと比較して、ChronoFrame では自分の写真データを完全にコントロールでき、プライバシー漏洩のリスクがなく、サブスクリプション料金も一切かかりません。
トラブルシューティング & FAQ (1)
トラブル対応ChronoFrame のセットアップウィザードの Site Info ステップに、ラベルのない "[object Object]" 入力欄が表示されるのはなぜですか?
これは ChronoFrame 1.0.2 における既知の UI バグです。このフィールドは socialLinks アプリ設定で、デフォルト値が { links: [] } の JSON 型の設定です。セットアップウィザードは tabs 以外のすべての設定をプレーンなテキスト入力としてレンダリングするため、オブジェクトが文字列 [object Object] に強制変換されます。回避策: このフィールドは単純に無視してください — 入力した内容は一切保存されないため(ウィザードの送信ペイロードには socialLinks が含まれません)、データ破損のリスクはありません。ソーシャルリンクを設定するには、セットアップを完了し、ダッシュボードの設定ページにある専用のソーシャルリンクエディタを代わりに使用してください(ダッシュボードは汎用フィールドから socialLinks を正しく除外しています)。セルフパッチを行う開発者向け: apps/self-hosted/server/api/wizard/schema.get.ts にあるウィザードの app スキーマから socialLinks(またはオブジェクト/JSON 値を持つすべての設定)をフィルタリングして除外し、必要に応じてウィザードレンダラー(apps/self-hosted/app/pages/onboarding/site.vue)にガードを追加して、オブジェクト値がテキスト入力に渡されないようにしてください。
タグ
はじめ方
ソフトウェアをインストール
ダウンロードしたインストーラをダブルクリックし、指示に従ってください
ステップ1:サーバーにDockerとDocker Composeをインストールする
ステップ2:.envファイルを作成し、管理者のメールアドレス、パスワード、ストレージ方式(ローカルまたはS3)を設定する
ステップ3:docker compose up -dを実行してサービスを起動する
- ステップ1:サーバーにDockerとDocker Composeをインストールする
- ステップ2:.envファイルを作成し、管理者のメールアドレス、パスワード、ストレージ方式(ローカルまたはS3)を設定する
- ステップ3:docker compose up -dを実行してサービスを起動する
チェックサムがありません
このプロジェクトは GitHub Release ページに SHA-256 チェックサムを公開していません
SHA256 チェックサム
チェックサムなし
GitHub Releases から直接ダウンロードし、ファイルの整合性をご自身で確認してください
本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。
オープンソースの透明性
GitHub ソースを見るアンインストール情報
コンテナの停止:docker compose down;データの削除:rm -rf ./data および docker rmi ghcr.io/hoshinosuzumi/chronoframe
追加の依存関係なし
ダウンロード後すぐに使用可能。追加のランタイムは不要です。
問題が発生?以下のFAQを確認
1 FAQ