diff --git a/src/app/[locale]/guides/self-hosting/en.mdx b/src/app/[locale]/guides/self-hosting/en.mdx index 0694fc27..de167651 100644 --- a/src/app/[locale]/guides/self-hosting/en.mdx +++ b/src/app/[locale]/guides/self-hosting/en.mdx @@ -18,7 +18,11 @@ Self-hosting a Bluesky PDS means running your own Personal Data Server that is c * [Verifying that your PDS is online and accessible](#verifying-that-your-pds-is-online-and-accessible) * [Creating an account using pdsadmin](#creating-an-account-using-pdsadmin) * [Creating an account using an invite code](#creating-an-account-using-an-invite-code) +* [Setting up an SMTP server](#setting-up-an-smtp-server ) * [Using the Bluesky app with your PDS](#using-the-bluesky-app-with-your-pds) +* [Adding a top level domain name as your handle](#adding-a-top-level-domain-name-as-your-handle) +* [Using updateAccountHandle to update your handle](#using-update-account-handle-to-update-your-handle) +* [Debugging invalid.handle warning](#debugging-invalid-handle-warning) * [Updating your PDS](#updating-your-pds) * [Getting help](#getting-help) @@ -143,6 +147,39 @@ sudo pdsadmin create-invite-code When creating an account using the app, enter this invite code. +## Setting up an SMTP server + +After setting up your PDS configure an SMTP server to recieve emails from Bluesky app, like the "verify your email address" email. + +On your PDS server open the file `/pds/pds.env` + +```bash +sudo nano /pds/pds.env +``` + +Add these lines with your specific setup: + +```bash +PDS_EMAIL_FROM_ADDRESS="example@gmailaccount.tld" +PDS_EMAIL_SMTP_URL="smtps://example@gmailaccount.tld:.gmail.com:465" +``` + +We recommend using Google's [Gmail SMTP server](https://support.google.com/a/answer/176600?hl=en) as a fast way to setup an SMTP server for users with a gmail account. You will need to generate an [app password](https://support.google.com/accounts/answer/185833?sjid=10418456355978061137-NC). + +Restart your pds server after changing the environment variables in `/pds/pds.env` + +_Note: To bypass SMTP setup for email verification you can query the sqlite table (email_token table) on your PDS._ + +```bash +sudo sqlite3 /pds/account.sqlite "SELECT * FROM email_token;" +``` + +_The token will be in the third column_ + +```bash +update_email|did:plc:someid|EMAIIL-TOKEN|2024-11-06T18:35:18.589Z +``` + ## Using the Bluesky app with your PDS You can use the Bluesky app to connect to your PDS. @@ -155,6 +192,69 @@ You can use the Bluesky app to connect to your PDS. _Note: because the subdomain TLS certificate is created on-demand, it may take 10-30s for your handle to be accessible. If you aren't seeing your first post/profile, wait 30s and try to make another post._ +_Note: Users with Squarespace hosted subdomains have reported having issues which resolved after switching to domain registrars with support for wildcard subdomains._ + +## Adding a top level domain name as your handle + +* Create an account using a temporary bluesky handle +* In the Bluesky app go to Settings > Change Handle +* Choose "I have my own domain" +* Enter your domain name +* Add the provided TXT record to your DNS records +* Click "Verify DNS record" + +_Tip: Before deleting your Bluesky account, change to a temporary handle if you want to reuse the TLD._ + +## Using updateAccountHandle to update your handle + +Run the following curl command with your specific variables. See [updateAccountHandle](https://docs.bsky.app/docs/api/com-atproto-admin-update-account-handle) for docs. + +```bash +curl --fail --silent --show-error \ + --request POST \ + --header "Content-Type: application/json" \ + --user "admin:${PDS_ADMIN_PASSWORD}" \ + --data "{\"did\": \"${DID}\", \"handle\": \"${HANDLE}\"}" \ + "https://${PDS_HOSTNAME}/xrpc/com.atproto.admin.updateAccountHandle" +``` + +The variables you need can be found in `/pds/pds.env` + +```bash +sudo cat /pds/pds.env +``` + + + +## Debugging invalid.handle warning + +[Goat](https://github.com/bluesky-social/indigo/blob/d1686e9b80835948407fd7ad2428e92379298dac/cmd/goat/README.md) is a helpful tool for figuring out what's going on with your handle. + +```txt +$ goat resolve wyden.senate.gov +{ + "id": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc", + "alsoKnownAs": [ + "at://wyden.senate.gov" + ], + "verificationMethod": [ + { + "id": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc#atproto", + "type": "Multikey", + "controller": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc", + "publicKeyMultibase": "zQ3shuMW7q4KBdsFcdvebGi2EVv8KcqS24tF9Pg7Wh5NLB2NM" + } + ], + "service": [ + { + "id": "#atproto_pds", + "type": "AtprotoPersonalDataServer", + "serviceEndpoint": "https://shimeji.us-east.host.bsky.network" + } + ] +} +``` + ## Updating your PDS It is recommended that you keep your PDS up to date with new versions, otherwise things may break. You can use the `pdsadmin` tool to update your PDS. diff --git a/src/app/[locale]/guides/self-hosting/ja.mdx b/src/app/[locale]/guides/self-hosting/ja.mdx index f5ccc774..3e8a0e8d 100644 --- a/src/app/[locale]/guides/self-hosting/ja.mdx +++ b/src/app/[locale]/guides/self-hosting/ja.mdx @@ -18,11 +18,15 @@ Bluesky PDS をセルフホスティングするということは、より広 * [PDS がオンラインでアクセス可能であることを確認する](#verifying-that-your-pds-is-online-and-accessible) * [pdsadmin を使用してアカウントを作成する](#creating-an-account-using-pdsadmin) * [招待コードを使用してアカウントを作成する](#creating-an-account-using-an-invite-code) +* [SMTP サーバーの設定](#setting-up-an-smtp-server) * [PDS で Bluesky アプリを使用する](#using-the-bluesky-app-with-your-pds) +* [ハンドルとしてトップレベルドメイン名を追加する](#adding-a-top-level-domain-name-as-your-handle) +* [updateAccountHandle を使用してハンドルを更新する](#using-update-account-handle-to-update-your-handle) +* [invalid.handle 警告のデバッグ](#debugging-invalid-handle-warning) * [PDS を更新する](#updating-your-pds) * [ヘルプを取得する](#getting-help) -## セルフホスティング PDS の準備 +

セルフホスティング PDS の準備

任意のクラウド プロバイダーでサーバーを起動します。[Digital Ocean](https://digitalocean.com/) と [Vultr](https://vultr.com/) は 2 つの一般的な選択肢です。 @@ -45,7 +49,7 @@ Bluesky PDS をセルフホスティングするということは、より広 **注:** セキュリティ対策として、インバウンド SSH アクセス (ポート 22/tcp) を自分のコンピューターのパブリック IP アドレスに制限することをお勧めします。現在のパブリック IP アドレスは、[ifconfig.me](https://ifconfig.me/) を使用して確認できます。 -## クラウド ファイアウォールを HTTP および HTTPS 用に開く +

クラウド ファイアウォールを HTTP および HTTPS 用に開く

最も一般的な構成ミスの原因の 1 つは、ファイアウォール ポートを正しく開いていないことです。この手順を必ず再確認してください。 @@ -57,7 +61,7 @@ Bluesky PDS をセルフホスティングするということは、より広 **注:** TLS を設定したり、ポート 80 から 443 にリクエストをリダイレクトしたりする必要はありません。Docker 構成ファイルに含まれている Caddy Web サーバーがこれを処理するためです。 -## ドメインの DNS を構成する +

ドメインの DNS を構成する

DNS プロバイダーのコントロール パネルから、サーバーを指すレコードを含むドメインを設定します。 @@ -73,7 +77,7 @@ DNS プロバイダーのコントロール パネルから、サーバーを指 * ユーザーが PDS に新しいアカウントを作成できるようにする場合は、ワイルドカード レコードが必要です。 * TTL は任意の値にできますが、600 (10 分) が妥当です -## DNS が期待どおりに動作していることを確認します +

DNS が期待どおりに動作していることを確認します

[DNS Checker](https://dnschecker.org/) などのサービスを使用して、ドメイン名を解決できることを確認します。 @@ -84,7 +88,7 @@ DNS プロバイダーのコントロール パネルから、サーバーを指 これらはすべて、サーバーのパブリック IP を返します。 -## Ubuntu 20.04/22.04 および Debian 11/12 のインストーラー +

Ubuntu 20.04/22.04 および Debian 11/12 のインストーラー

SSH 経由でサーバー上で、wget を使用してインストーラー スクリプトをダウンロードします: @@ -104,7 +108,8 @@ curl https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh >ins sudo bash installer.sh ``` -## PDS がオンラインでアクセス可能であることを確認する + +

PDS がオンラインでアクセス可能であることを確認する

> [!TIP] > ライブ ネットワークで PDS コンテンツを使用する際に最もよく発生する問題は、提供された Caddy 構成を nginx、apache、または同様のリバース プロキシに置き換える場合です。 TLS 証明書、WebSocket、仮想サーバー名をすべて正しく取得するのは難しい場合があります。現在、その他の構成についてはテクニカル サポートを提供していません。 @@ -125,7 +130,7 @@ wsdump "wss://example.com/xrpc/com.atproto.sync.subscribeRepos?cursor=0" イベントは PDS で作成されるまで WebSocket に出力されないことに注意してください。そのため、設定が正常であれば、上記のコマンドは出力なしで実行され続ける可能性があります。 -## pdsadmin を使用してアカウントを作成する +

pdsadmin を使用してアカウントを作成する

サーバーで ssh を使用して、`pdsadmin` を使用してアカウントを作成します (まだアカウントを作成していない場合)。 @@ -133,7 +138,7 @@ wsdump "wss://example.com/xrpc/com.atproto.sync.subscribeRepos?cursor=0" sudo pdsadmin account create ``` -## 招待コードを使用してアカウントを作成する +

招待コードを使用してアカウントを作成する

サーバーで ssh を使用して、`pdsadmin` を使用して招待コードを作成します。 @@ -143,7 +148,40 @@ sudo pdsadmin create-invite-code アプリを使用してアカウントを作成するときは、この招待コードを入力します。 -## PDS で Bluesky アプリを使用する +

SMTP サーバーの設定

+ +PDS のセットアップ後、Bluesky アプリからの「メールアドレスを確認」などのメールを受信するために SMTP サーバーを設定します。 + +PDS サーバーで `/pds/pds.env` ファイルを開きます + +```bash +sudo nano /pds/pds.env +``` + +以下の行を特定の設定で追加します: + +```bash +PDS_EMAIL_FROM_ADDRESS="example@gmailaccount.tld" +PDS_EMAIL_SMTP_URL="smtps://example@gmailaccount.tld:.gmail.com:465" +``` + +Gmail アカウントをお持ちの方には、簡単に SMTP サーバーを設定できる方法として、Googleの [Gmail SMTP サーバー](https://support.google.com/a/answer/176600?hl=ja)の使用をお勧めします。[アプリパスワード](https://support.google.com/accounts/answer/185833?sjid=10418456355978061137-NC)の生成が必要です。 + +`/pds/pds.env` で環境変数を変更した後、PDS サーバーを再起動してください。 + +_注: メール確認の SMTP 設定をバイパスするには、PDS の SQLite テーブル(email_token テーブル)を照会できます。_ + +```bash +sudo sqlite3 /pds/account.sqlite "SELECT * FROM email_token;" +``` + +_トークンは3列目にあります_ + +```bash +update_email|did:plc:someid|EMAIIL-TOKEN|2024-11-06T18:35:18.589Z +``` + +

PDS で Bluesky アプリを使用する

Bluesky アプリを使用して PDS に接続できます。 @@ -155,7 +193,68 @@ Bluesky アプリを使用して PDS に接続できます。 _注: サブドメイン TLS 証明書はオンデマンドで作成されるため、ハンドルにアクセスできるようになるまでに 10 ~ 30 秒かかる場合があります。最初の投稿/プロフィールが表示されない場合は、30 秒待ってから別の投稿を行ってください。_ -## PDS の更新 +_注: Squarespace でホストされているサブドメインを使用しているユーザーは、ワイルドカードサブドメインをサポートするドメインレジストラに切り替えた後に解決された問題があると報告しています。_ + +

ハンドルとしてトップレベルドメイン名を追加する

+ +* 一時的な Bluesky ハンドルでアカウントを作成する +* Bluesky アプリで設定 > ハンドルの変更に移動 +* 「自分のドメインを持っている」を選択 +* ドメイン名を入力 +* 提供された TXT レコードを DNS レコードに追加 +* 「DNS レコードを確認」をクリック + +_ヒント: TLD を再利用したい場合は、Bluesky アカウントを削除する前に一時的なハンドルに変更してください。_ + +

updateAccountHandle を使用してハンドルを更新する

+ +以下の curl コマンドを特定の変数で実行します。詳細については [updateAccountHandle](https://docs.bsky.app/docs/api/com-atproto-admin-update-account-handle) のドキュメントを参照してください。 + +```bash +curl --fail --silent --show-error \ + --request POST \ + --header "Content-Type: application/json" \ + --user "admin:${PDS_ADMIN_PASSWORD}" \ + --data "{\"did\": \"${DID}\", \"handle\": \"${HANDLE}\"}" \ + "https://${PDS_HOSTNAME}/xrpc/com.atproto.admin.updateAccountHandle" +``` + +必要な変数は `/pds/pds.env` で確認できます + +```bash +sudo cat /pds/pds.env +``` + +

invalid.handle 警告のデバッグ

+ +[Goat](https://github.com/bluesky-social/indigo/blob/d1686e9b80835948407fd7ad2428e92379298dac/cmd/goat/README.md) は、ハンドルの問題を解決するのに役立つツールです。 + +```txt +$ goat resolve wyden.senate.gov +{ + "id": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc", + "alsoKnownAs": [ + "at://wyden.senate.gov" + ], + "verificationMethod": [ + { + "id": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc#atproto", + "type": "Multikey", + "controller": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc", + "publicKeyMultibase": "zQ3shuMW7q4KBdsFcdvebGi2EVv8KcqS24tF9Pg7Wh5NLB2NM" + } + ], + "service": [ + { + "id": "#atproto_pds", + "type": "AtprotoPersonalDataServer", + "serviceEndpoint": "https://shimeji.us-east.host.bsky.network" + } + ] +} +``` + +

PDS の更新

PDS を新しいバージョンに更新しておくことをお勧めします。そうしないと、問題が発生する可能性があります。`pdsadmin` ツールを使用して PDS を更新できます。 @@ -163,7 +262,7 @@ PDS を新しいバージョンに更新しておくことをお勧めします sudo pdsadmin update ``` -## ヘルプの取得 +

ヘルプの取得

- [GitHub](https://github.com/bluesky-social/pds) にアクセスして、問題やディスカッションを確認してください。 - [AT Protocol PDS Admins Discord](https://discord.gg/e7hpHxRfBP) に参加して、インスタンスをホストしている他のユーザーとチャットし、PDS ディストリビューションに関する重要な更新情報を入手してください。 \ No newline at end of file diff --git a/src/app/[locale]/guides/self-hosting/pt.mdx b/src/app/[locale]/guides/self-hosting/pt.mdx index e06bb6c3..3c9314ef 100644 --- a/src/app/[locale]/guides/self-hosting/pt.mdx +++ b/src/app/[locale]/guides/self-hosting/pt.mdx @@ -12,14 +12,18 @@ Auto-hospedar um Bluesky PDS significa executar seu próprio Servidor de Dados P * [Preparação para auto-hospedagem de PDS](#preparacao-para-auto-hospedagem-de-pds) * [Abra seu firewall de nuvem para HTTP e HTTPS](#abra-seu-firewall-de-nuvem-para-http-e-https) -* [Configure o DNS para seu domínio](#configure-dns-para-seu-dominio) -* [Verifique se o DNS está funcionando conforme o esperado](#check-that-dns-is-working-as-expected) -* [Instalador no Ubuntu 20.04/22.04 e Debian 11/12](#installer-on-ubuntu-20-04-22-04-and-debian-11-12) -* [Verificando se seu PDS está online e acessível](#verificando-se-seu-pds-está-online-e-acessível) +* [Configure o DNS para seu domínio](#configure-o-dns-para-seu-dominio) +* [Verifique se o DNS está funcionando conforme o esperado](#verifique-se-o-dns-esta-funcionando-conforme-o-esperado) +* [Instalador no Ubuntu 20.04/22.04 e Debian 11/12](#instalador-no-ubuntu-20-04-22-04-e-debian-11-12) +* [Verificando se seu PDS está online e acessível](#verificando-se-seu-pds-esta-online-e-acessivel) * [Criando uma conta usando pdsadmin](#criando-uma-conta-usando-pdsadmin) -* [Criando uma conta usando um código de convite](#criando-uma-conta-usando-um-código-de-convite) -* [Usando o aplicativo Bluesky com seu PDS](#usando-o-aplicativo-bluesky-com-seus-pds) -* [Atualizando seu PDS](#atualizando-seus-pds) +* [Criando uma conta usando um código de convite](#criando-uma-conta-usando-um-codigo-de-convite) +* [Configurando um servidor SMTP](#configurando-um-servidor-smtp) +* [Usando o aplicativo Bluesky com seu PDS](#usando-o-aplicativo-bluesky-com-seu-pds) +* [Adicionando um nome de domínio de nível superior como seu identificador](#adicionando-um-nome-de-dominio-de-nivel-superior-como-seu-identificador) +* [Usando updateAccountHandle para atualizar seu identificador](#usando-update-account-handle-para-atualizar-seu-identificador) +* [Depurando aviso de identificador inválido](#depurando-aviso-de-identificador-invalido) +* [Atualizando seu PDS](#atualizando-seu-pds) * [Obtendo ajuda](#obtendo-ajuda) ## Preparação para auto-hospedagem de PDS @@ -142,6 +146,39 @@ sudo pdsadmin create-invite-code Ao criar uma conta usando o aplicativo, insira este código de convite. +## Configurando um servidor SMTP + +Depois de configurar seu PDS, configure um servidor SMTP para receber e-mails do aplicativo Bluesky, como o e-mail "verifique seu endereço de e-mail". + +No seu servidor PDS, abra o arquivo `/pds/pds.env` + +```bash +sudo nano /pds/pds.env +``` + +Adicione estas linhas com sua configuração específica: + +```bash +PDS_EMAIL_FROM_ADDRESS="exemplo@contadegmail.tld" +PDS_EMAIL_SMTP_URL="smtps://exemplo@contadegmail.tld:.gmail.com:465" +``` + +Recomendamos usar o [servidor SMTP do Gmail](https://support.google.com/a/answer/176600?hl=en) do Google como uma maneira rápida de configurar um servidor SMTP para usuários com uma conta do Gmail. Você precisará gerar uma [senha de aplicativo](https://support.google.com/accounts/answer/185833?sjid=10418456355978061137-NC). + +Reinicie seu servidor PDS após alterar as variáveis de ambiente em `/pds/pds.env` + +_Nota: Para contornar a configuração SMTP para verificação de e-mail, você pode consultar a tabela sqlite (tabela email_token) em seu PDS._ + +```bash +sudo sqlite3 /pds/account.sqlite "SELECT * FROM email_token;" +``` + +_O token estará na terceira coluna_ + +```bash +update_email|did:plc:someid|TOKEN-EMAIL|2024-11-06T18:35:18.589Z +``` + ## Usando o aplicativo Bluesky com seu PDS Você pode usar o aplicativo Bluesky para se conectar ao seu PDS. @@ -154,6 +191,67 @@ Você pode usar o aplicativo Bluesky para se conectar ao seu PDS. _Observação: como o certificado TLS do subdomínio é criado sob demanda, pode levar de 10 a 30 segundos para que seu identificador fique acessível. Se você não estiver vendo sua primeira postagem/perfil, aguarde 30 segundos e tente fazer outra postagem._ +_Nota: Usuários com subdomínios hospedados no Squarespace relataram problemas que foram resolvidos após mudarem para registradores de domínio com suporte a subdomínios curinga._ + +## Adicionando um nome de domínio de nível superior como seu identificador + +* Crie uma conta usando um identificador temporário do Bluesky +* No aplicativo Bluesky, vá para Configurações > Alterar Identificador +* Escolha "Eu tenho meu próprio domínio" +* Digite seu nome de domínio +* Adicione o registro TXT fornecido aos seus registros DNS +* Clique em "Verificar registro DNS" + +_Dica: Antes de excluir sua conta Bluesky, mude para um identificador temporário se quiser reutilizar o TLD._ + +## Usando updateAccountHandle para atualizar seu identificador + +Execute o seguinte comando curl com suas variáveis específicas. Veja [updateAccountHandle](https://docs.bsky.app/docs/api/com-atproto-admin-update-account-handle) para documentação. + +```bash +curl --fail --silent --show-error \ + --request POST \ + --header "Content-Type: application/json" \ + --user "admin:${PDS_ADMIN_PASSWORD}" \ + --data "{\"did\": \"${DID}\", \"handle\": \"${HANDLE}\"}" \ + "https://${PDS_HOSTNAME}/xrpc/com.atproto.admin.updateAccountHandle" +``` + +As variáveis necessárias podem ser encontradas em `/pds/pds.env` + +```bash +sudo cat /pds/pds.env +``` + +## Depurando aviso de identificador inválido + +[Goat](https://github.com/bluesky-social/indigo/blob/d1686e9b80835948407fd7ad2428e92379298dac/cmd/goat/README.md) é uma ferramenta útil para descobrir o que está acontecendo com seu identificador. + +```txt +$ goat resolve wyden.senate.gov +{ + "id": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc", + "alsoKnownAs": [ + "at://wyden.senate.gov" + ], + "verificationMethod": [ + { + "id": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc#atproto", + "type": "Multikey", + "controller": "did:plc:ydtsvzzsl6nlfkmnuooeqcmc", + "publicKeyMultibase": "zQ3shuMW7q4KBdsFcdvebGi2EVv8KcqS24tF9Pg7Wh5NLB2NM" + } + ], + "service": [ + { + "id": "#atproto_pds", + "type": "AtprotoPersonalDataServer", + "serviceEndpoint": "https://shimeji.us-east.host.bsky.network" + } + ] +} +``` + ## Atualizando seu PDS É recomendável que você mantenha seu PDS atualizado com novas versões, caso contrário, as coisas podem quebrar. Você pode usar a ferramenta `pdsadmin` para atualizar seu PDS.