環境変数
Holloは環境変数を使って設定を行います。
環境変数はプロジェクトの最上位ディレクトリに*.env*ファイルを作成するか、
Dockerの-e/--envオプションを使うか、
Railwayのenvironment variablesメニューから設定できます。
基本設定
PORT オプション Railwayでは使われない
サーバーが受信するポート番号。デフォルトは3000です。
BIND オプション Railwayでは使われない
サーバーが受信するアドレス。有効なIPアドレスまたはlocalhostである必要があります。
DATABASE_URL Railwayでは使われない
PostgreSQLのデータベースのURL。例:postgresql://hollo:password@localhost/hollo
SECRET_KEY Railwayでは使われない
セッションを保護するための秘密鍵。44文字以上である必要があります。 次のコマンドで安全なランダムな秘密鍵を生成できます:
openssl rand -hex 32TZ オプション
アプリケーションの等時帯(time zone)。
有効な等時帯識別子である必要があります。
例:UTC、America/New_York、Asia/Tokyo。
デフォルトはUTCです。
BEHIND_PROXY オプション Railwayでは使われない
Holloがリバースプロキシの後ろにある場合はtrueに設定します。
HolloがL7ロードバランサーの後ろにある場合(通常はそうする必要があります)、
このオプションを有効にします。
基本的にはオフになっています。
ALLOW_PRIVATE_ADDRESS オプション
このオプションをtrueに設定すると、サーバーサイドリクエストフォージェリ(SSRF)攻撃の防止を解除します。
ローカルネットワークでテストする場合は、このオプションをオンにする必要がある場合があります。
デフォルトではオフになっています。
追加機能
HOME_URL オプション
設定された場合、トップページへにアクセスした時にこのURLにリダイレクトされます。 設定されていない場合、トップページにはアカウント一覧が表示されます。
REMOTE_ACTOR_FETCH_POSTS オプション
リモートアクターが最初に発見された場合に読み込む最新の公開投稿の数。
デフォルトは10です。
TIMELINE_INBOXES オプション
このオプションをtrueに設定すると、タイムラインが受信箱のように動作します。
つまり、タイムラインに表示される投稿がリアルタイムでフィルタリングされるのではなく、
事前に取得された投稿がデータベースに保存されます。
この機能は多くのリモート投稿を受信する相対的に大きなインスタンスで有用です。
Hollo 0.4.0時点では、この機能は実験的であり、バグがあるかもしれません。 しかし、この機能は安定化した後にデフォルトの動作に変更される予定です。
基本的にはオフになっています。
ALLOW_HTML オプション
このオプションをtrueに設定すると、Markdown内に生のHTMLを許可します。
(MarkdownはHolloでプロフィールの紹介や投稿の内容などに使用されます)
Markdownでサポートされている書式よりも高度な書式を使用する場合に便利ですが、
XSS(クロスサイトスクリプティング)攻撃に防止するため、
HTMLタグと属性は一部制限されます。
ログとデバッグ
LOG_LEVEL オプション
アプリケーションのログレベル。
debug、info、warning、error、fatalのいずれかを選択してください。
デフォルトはinfoです。
LOG_QUERY オプション
SQLクエリをログに残すにはtrueに設定します。
基本的にはオフになっています。
LOG_FILE オプション
構造化されたログを書き込むファイルのパスを指定します。 コンソールに出力されるログとは異なり、 ログファイルはJSON Lines形式で書き込まれます。
SENTRY_DSN オプション
エラーレポートとトレースを送信するSentryプロジェクトのDSN。
メディアストレージ
DRIVE_DISK
Holloでアバター、カスタム絵文字、 その他のメディア等のファイルを保存する為のディスクドライバ。
選択肢はfs(ローカルファイルシステム)またはs3(S3互換のオブジェクトストレージ)のいずれかです。
後方互換性の為にs3がデフォルトですが、
将来的にはデフォルトは無くなる予定なので、明示的に設定する事をお勧めします。
ドライバの詳細については、FlyDriveドキュメント(英文)を参照してください。
STORAGE_URL_BASE
メディアファイルを提供する公開URLベース。例:https://media.hollo.social。
DRIVE_DISK=fsを使用する場合、
ローカルファイルシステムに保存されたファイルをWebアクセス経由で提供するため、
通常はhttps://<ホスト>/assetsの形式で設定する必要があります。
例:https://hollo.example.com/assets。
ローカルファイルシステムの設定
FS_STORAGE_PATH FSドライバで必須
ローカルファイルシステムでファイルを保存するパス。例: /var/lib/hollo.
S3互換オブジェクトストレージの設定
S3_REGION S3ドライバで必須
S3互換オブジェクトストレージのリージョン。例:us-east-1
一部の非AWS S3互換サービスでは、この値が必要ないかもしれません。
S3_BUCKET S3ドライバで必須
S3互換オブジェクトストレージのバケット名。例:hollo
S3_ENDPOINT_URL S3ドライバで必須
S3互換オブジェクトストレージのエンドポイントURL。
例:https://s3.us-east-1.amazonaws.com
S3_FORCE_PATH_STYLE オプション
S3互換オブジェクトストレージに対してパススタイルURLを強制するかどうか。(trueまたはfalse)
非AWS S3互換サービスで必要な場合があります。
基本的にはオフになっています。
AWS_ACCESS_KEY_ID S3ドライバで必須
S3互換オブジェクトストレージのアクセスキー。
AWS_SECRET_ACCESS_KEY S3ドライバで必須
S3互換オブジェクトストレージのシークレットキー。