Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Ente サーバーのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Ente サーバー
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ファイル共有]] [[en:Ente server]] {{Related articles start}} {{Related|AppArmor}} {{Related|Certbot}} {{Related|MinIO}} {{Related|Nginx}} {{Related|PostgreSQL}} {{Related articles end}} [https://ente.io Ente サーバー] は、Ente (モバイル) クライアントに暗号化されたデータの塊を保存・提供するサーバー部分です。クライアントは暗号化されたデータを送受信し、それが Ente サーバーに届き、ローカルの [[MinIO]] オブジェクト ストレージ サービスを通じて保存・読み取りが行われます。 例えば、'''Ente''' フォトクライアントを使用すると、クライアントは写真を暗号化し、それらはサーバーに保存されます。後に、クライアントは暗号化された写真を検索し、ローカルで復号できます ('''エンドツーエンド暗号化''')。クライアント、もしくはクライアントが写真を共有した相手のみが暗号鍵を持っているため、データを復号して実際に写真を見ることができるのはその人たちだけであり、サーバーはその鍵の情報を持っていないため見ることができません。 == インストール == {{AUR|ente-server-git}} パッケージは、デフォルトで提供される Docker 化された '''Ente''' サーバーとは異なり、セルフホスティング用に設計されています。Docker 化またはホスティングソリューションが必要な場合は、[https://ente.io/ ente.io] を参照してください。 まず、{{AUR|ente-server-git}} パッケージを[[インストール]]してください。 セルフホストされるサーバースペースは、しばしば限られた容量しか利用できないため、{{AUR|ente-server-git}} パッケージでは、古いリンク切れした ente-server [[MinIO]] オブジェクトが実際に削除される前のクリーンアップ遅延を変更できる機能が追加されています。これは、''ente-server'' の設定パラメータ {{ic|internal:delete-object-delay}} で構成することができます。デフォルトの Ente サーバーは、これらのオブジェクトをデフォルトで {{ic|45日}} ごとにクリーンアップしますが、レプリケーションが必要ない場合、この設定を例えば {{ic|5分}} ごとにクリーンアップするように設定することができます。 {{Note|この設定は、''ente-server'' が破損するリスクがあるため、'''Ente''' の開発者によってサポートされていません。完全な警告は、''ente-server'' の設定ファイルに記載されています。}} '''Ente''' サーバーを稼働させるには、[[PostgreSQL]] データベース (Ente オブジェクトのメタデータやユーザーデータの保存用) と [[MinIO]] バケット (暗号化されたオブジェクトデータの保存用) が必要です。また、'''Ente''' サーバーにアクセスするための HTTPS プロキシとして [[Nginx]] の使用が推奨されます。最後に、''ente-cli'' ツールを使うと、Ente サーバーのアカウントの容量制限や有効期限の更新が簡単に行えます。 これらの必要なコンポーネントは、オプションの依存関係としてリストされており、依存関係としてインストールすることが推奨されます: [[Pacman#Installation_reason]] == 設定 == === MinIO のセットアップ === 設定ファイルを以下のように[[テキスト編集|編集]]してください: {{hc|/etc/minio/minio.conf|2= MINIO_VOLUMES="/srv/minio/data" MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD='<nowiki/>''YOUR-STRONG-MINIO-ROOT-PASSWORD''<nowiki/>' MINIO_OPTS="--address 127.0.0.1:43200 --console-address 127.0.0.1:43201" }} {{ic|minio.service}} を[[有効化/起動]]します。 ''mcli'' コマンドを使って (minio ユーザーとして) [[MinIO]] ente-server バケットを作成します: # cd /srv/minio/data [minio]$ mcli mb -p ente-server === PostgreSQL のセットアップ === postgres ユーザーとしてデータベースを初期化します: [postgres]$ initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data' --data-checksums --auth=scram-sha-256 --pwprompt -c listen_addresses=<nowiki>''</nowiki> [https://man.archlinux.org/man/unix.7.en AF_UNIX] ソケットのみに接続するように設定してください: {{hc|/var/lib/postgres/data/postgresql.conf|2= listen_addresses = <nowiki>''</nowiki> # AF_UNIX Socket only }} 既存の PostgreSQL セットアップがある場合は、[[PostgreSQL#PostgreSQL を UNIX ソケット経由でのみアクセス可能に設定する]]を参照してください: {{hc|/etc/systemd/system/postgresql.d/socket-access-restriction.conf|2= [Service] RuntimeDirectoryMode=750 }} {{ic|ente}} を {{ic|postgres}} [[ユーザーグループ]] に追加し、{{ic|postgresql.service}} を[[有効化/起動]]します。 PostgreSQL データベースユーザーと、このユーザーが所有するデータベースを作成します (新しいパスワードを 2 回入力し、次に新しいアカウントを保存するために postgres パスワードを指定します): [postgres]$ createuser -P ente 次に、新しいデータベースを作成するために postgres パスワードを指定します: [postgres]$ createdb -T template0 -O ente -E unicode ente-server === ente-server の起動 === [[MinIO]] バケットの詳細を追加します: {{hc|/etc/ente-server/local.yaml| b2-eu-cen: key: minio secret: "''YOUR-STRONG-MINIO-ROOT-PASSWORD''" endpoint: https://''<nowiki>your_public_domain.tld</nowiki>'':3200 region: eu-central-2 bucket: ente-server }} [[PostgreSQL]] の詳細を追加します: {{hc|/etc/ente-server/local.yaml| db: host: /run/postgresql port: 5432 name: ente-server user: ente password: "''YOUR-STRONG-ENTE-DATABASE-USER-PASSWORD''" }} ''ente-server-gen-random-keys'' コマンドを使って新しい秘密鍵を生成し、{{ic|/etc/ente-server/local.yaml}} 設定ファイルのデフォルト値の代わりにこれらの値を使用してください。 ''your_public_domain.tld'' の IP アドレスにアクセスできるように {{ic|ente-server.service}} を[[編集]]します (デフォルトでは、サービスは localhost からのアクセスのみを許可しています): {{bc|1= [Service] IPAddressAllow=''IP_address_of_your_public_domain.tld'' }} {{ic|ente-server.service}} を[[有効化/起動]]します。 === Nginx プロキシの設定 === 例として提供されている [[MinIO]] と '''Ente''' サーバーの [[Nginx]] 設定ファイル、および付随する HTTP(S) セキュリティヘッダー設定ファイルを [[Nginx]] 設定ディレクトリにコピーします: # cp -v /usr/lib/ente-server/ente-server-nginx.conf /etc/nginx/ # cp -v /usr/lib/ente-server/http*security_headers.conf /etc/nginx/ # cp -v /usr/lib/ente-server/minio-server-nginx.conf /etc/nginx/ このサンプル設定ファイルを編集し、''your_public_domain.tld'' を実際のパブリックドメイン名に置き換えてください。 Let's Encrypt の証明書 (または他のプロバイダーからの SSL 証明書) がまだない場合はリクエストしてください: # certbot certonly --email ''your_email'' --agree-tos --preferred-challenge http --webroot -w /var/lib/letsencrypt -d ''your_public_domain.tld'' ''ente-server'' 設定を含む {{ic|include}} ステートメントを [[Nginx]] の {{ic|http}} 構成ファイルに追加します: {{hc|/etc/nginx/nginx.conf| http { include /etc/nginx/ente-server-nginx.conf } }} パーミッションを修正します: # chmod 644 /etc/nginx/ente-server-nginx.conf # chmod 644 /etc/nginx/http*security_headers.conf 変更を反映させるために {{ic|nginx.service}} を[[再起動]]します。 === ente-server と ente-cli の設定 === クライアントに {{ic|ente-cli}} をインストールするには、{{AUR|ente-cli-bin}} パッケージを使用します。 クライアントに {{ic|ente-cli}} の設定を追加します: {{bc|$ mkdir -p ~/.ente/export }} {{hc|~/.ente/config.yaml| endpoint: api: "''<nowiki>https://your_public_domain.tld</nowiki>''" > }} カスタムエンドポイントを使用して、クライアントで '''Ente''' フォトモバイル、デスクトップ、またはウェブアプリを介してユーザーアカウントを追加します。 モバイルアプリで、開発者モードを有効にするにはメイン画面を7回クリックし、その後カスタム '''Ente''' サーバー API エンドポイントを設定します: URL: ''<nowiki>https://your_public_domain.tld</nowiki>'' クライアントのウェブアプリで: {{bc|1= $ git clone https://github.com/ente-io/ente.git $ cd ente/web $ git submodule update --init --recursive $ yarn install $ NEXT_PUBLIC_ENTE_ENDPOINT=''<nowiki>https://your_public_domain.tld</nowiki>'' yarn dev:photos }} {{AUR|ente-desktop-git}} パッケージを使用してデスクトップアプリを利用する場合は、ビルド前に {{ic|NEXT_PUBLIC_ENTE_ENDPOINT}} 環境変数をエクスポートしてください。 モバイル、デスクトップ、またはウェブアプリ(''http://localhost:3000'')の指示に従って新しいユーザーを作成します。 OTP コードを取得します: * メールで: ** {{ic|/etc/ente-server/local.yaml}} の {{ic|smtp}} セクションを設定します ** 設定された {{man|1|smtp}} サーバーが動作していることを確認します ** メールが届くのを待ち、OTP コードをコピーします * ente-server のログから: :{{bc|# journalctl -au ente-server {{!}} grep SendEmailOTT {{!}} tail -n 1}} 新しいユーザーのアカウント ID を取得します: # psql -U ente ente-server -c 'select user_id from users order by user_id desc limit 1;' このユーザーを管理者として設定します: {{hc|/etc/ente-server/local.yaml| internal: admin: [''ADD_USER_ID_HERE''] }} 新しい管理者権限を有効にするために、{{ic|ente-server.service}} を[[再起動]]します。 クライアントでこの管理者を {{ic|ente-cli}} に設定します: {{bc| $ ente account add photos ~/.ente/export ''email_address_of_admin_account'' ''password_of_admin_account'' }} === ユーザーストレージとアカウント有効期限の延長 === * ''ente-cli'' を使ってストレージ制限を 100 TB、期限を 100 年に増やします: {{bc| ente admin update-subscription -u "''user@domain.tld''"}} === (オプション) AppArmor プロファイルのコピーと適用 === [[AppArmor]] プロファイルは、[[AppArmor]] を使用して '''ente-server''' バイナリのアクセスを制限したい人向けに提供されています。次の手順でプロファイルをコピーして適用します (すでに [[AppArmor]] がインストールおよび有効化されているものと仮定): {{bc| # install -Dvm600 -o root -g root /usr/lib/ente-server/usr.bin.ente-server -t /etc/apparmor.d/ # aa-enforce /usr/bin/ente-server}} === (オプション) ファイアウォールの設定 === iptables や nftables などのホストファイアウォールが有効化および構成されている場合、次の項目が許可されていることを確認します: * {{ic|localhost}} へのトラフィック * クライアントの '''Ente''' (モバイル) クライアントから [[Nginx]] への TCP ポート {{ic|443}} のトラフィック * クライアントの '''Ente''' (モバイル) クライアントから [[MinIO]] API ポートへの TCP ポート {{ic|3200}} のトラフィック == ファイル == {{AUR|ente-server-git}} パッケージには、インストールされるすべてのファイルを一覧表示し、説明する {{man|1|ente-server|url=}} [[man ページ]]が含まれています。 == 参照 == * 上流リポジトリ: [https://github.com/ente-io/ente/tree/main/server ente.io Ente サーバーリポジトリ] {{TranslationStatus|Ente Server|2024-08-14|809494}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
Ente サーバー
に戻る。
検索
検索
Ente サーバーのソースを表示
話題を追加