# 環境変数

環境変数名 説明 デフォルト値
APP_SITE_URL サイト URL (例: https://example.comhttps://example.com:8080)
MONGO_URI 接続する MongoDB サーバーの URI mongodb://localhost/growi
MONGO_MAX_POOL_SIZE MongoDB コネクションプールの最大接続数。アクセス数の多い大規模な環境で同時実行の性能が不足する場合に引き上げます。 15
MONGO_MIN_POOL_SIZE MongoDB コネクションプールの最小接続数。 2
PASSWORD_SEED パスワードハッシュ生成時に使用されるパスワードシード
SECRET_TOKEN 発行された cookie の正当性を検証するためのシークレットトークン
SESSION_NAME Express からのレスポンスに含まれる cookie 内のセッション ID 名 connect.sid
FORCE_WIKI_MODE wiki 閲覧モードの強制指定 undefined
: undefined 閲覧権限は管理画面のセキュリティ設定に従います。
: public 全てのページを強制的にパブリックにします。
: private 全てのページを強制的に非公開にします。
FORMAT_NODE_LOG falseの場合、サーバーログを JSON 形式で出力します。(NODE_ENV=production の時のみ可能) true
USER_UPPER_LIMIT (TBD)
MIN_PASSWORD_LENGTH ユーザーが設定可能なパスワードの最短文字数 8
DEFAULT_EMAIL_PUBLISHED 新規作成されたユーザーのデフォルトの email 公開設定 true
SSR_MAX_REVISION_BODY_LENGTH SSR (サーバーサイドレンダリング) する本文の最大文字数。本文の文字数がこの値を上回るページは SSR されなくなりますが、クライアントサイドでレンダリングされるため閲覧に問題はありません。 3000
S2CMSG_PUBSUB_CONNECTIONS_LIMIT Push 通知を行う全クライアントの同時接続数上限 5000
S2CMSG_PUBSUB_CONNECTIONS_LIMIT_FOR_GUEST Push 通知を行うことのできるゲストユーザーの同時接続数上限 2000
S2CMSG_PUBSUB_CONNECTIONS_LIMIT_FOR_ADMIN 管理画面で Push 通知を行うことのできる管理者ユーザーの同時接続数上限
(S2CMSG_PUBSUB_CONNECTIONS_LIMITからは独立した値です)
100
AUDIT_LOG_ENABLED true の場合、監査ログ機能が有効になります。 false
ACTIVITY_EXPIRATION_SECONDS 監査ログの保持期間の秒数。監査ログが作成されてから設定された秒数経過すると自動で削除されます。 2592000
AUDIT_LOG_ACTION_GROUP_SIZE 監査ログで収集するアクショングループのサイズ(SMALL, MEDIUM, LARGE が指定可能) SMALL
AUDIT_LOG_ADDITIONAL_ACTIONS AUDIT_LOG_ACTION_GROUP_SIZE で指定されたアクショングループに含まれないアクションを個別に追加します。CSV形式(カンマ区切りの文字列)で指定します。
AUDIT_LOG_EXCLUDE_ACTIONS AUDIT_LOG_ACTION_GROUP_SIZE で指定されたアクショングループに含まれているアクションを個別に除外します。CSV形式(カンマ区切りの文字列)で指定します。
TRUST_PROXY_BOOL Express の trust proxy に設定可能 (opens new window)な boolean 形式の値。TRUST_PROXY_CSV 及び TRUST_PROXY_HOPS よりも優先されます。
TRUST_PROXY_CSV Express の trust proxy に設定可能 (opens new window)な CSV 形式の値。 TRUST_PROXY_HOPS よりも優先されます。
TRUST_PROXY_HOPS Express の trust proxy に設定可能 (opens new window)な number 形式の値。
WIP_PAGE_EXPIRATION_SECONDS 一度も更新していない WIP ページ の保存期間の秒数。指定された秒数が経過するとページが自動的に削除されます。 172800 (2日)
ファイルアップロードオプション
FILE_UPLOAD ファイルアップロード先のストレージ aws
: aws Amazon Web Service S3 を使用します。(管理ページにて AWS 設定を行う必要があります。)
: gcs Google Cloud Storage を使用します。(環境変数にて使用する GCS を設定する必要があります。)
: azure Azure Blob Storage を使用します。(環境変数にて使用する Azure(Blob) を設定する必要があります。)
: mongodb MongoDB の GridFS 機能を使用します。 (別途の設定は不要です。)
: local ローカルのファイルシステムを使用します。 (別途の設定は不要です。)
: none ファイルアップロードを無効にします。
MAX_FILE_SIZE アップロード可能なファイルサイズ上限(bytes)。 Infinity
FILE_UPLOAD_TOTAL_LIMIT アップロードファイルの総容量の上限(bytes) Infinity
S3_OBJECT_ACL オブジェクト ACL。(参考: 既定 ACL (opens new window))
無効化する場合は private をセットしてください。(推奨)
public-read
S3_LIFETIME_SEC_FOR_TEMPORARY_URL 署名付きURLのキャッシュを保持する期間(秒数) 120
GCS_API_KEY_JSON_PATH GCP API 認証用のサービスアカウントキー (opens new window) を含む JSON ファイルのパス
GCS_BUCKET 利用する GCS バケット名
GCS_UPLOAD_NAMESPACE バケット内に作成するファイルアップロード用のディレクトリ名
GCS_LIFETIME_SEC_FOR_TEMPORARY_URL 署名付きURLのキャッシュを保持する期間(秒数) 120
GCS_REFERENCE_FILE_WITH_RELAY_MODE true の場、GROWI サーバーが添付ファイルデータを送信します(relay mode). false (デフォルト値)の場合は、その場合ユーザーはサーバーによって作成された 署名付き URL (opens new window) によって GCS から直接データをダウンロードします。 false
GCS_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS true の場合、GCS 関連設定の一部はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
AZURE_TEANANT_ID 利用するAzureテナント名
AZURE_CLIENT_ID 登録したアプリのクライアントID
AZURE_CLIENT_SECRET 登録したアプリに追加したクライアントシークレット
AZURE_STORAGE_ACCOUNT_NAME 利用するストレージアカウントの名前
AZURE_STORAGE_CONTAINER_NAME 利用するコンテナの名前
AZURE_LIFETIME_SEC_FOR_TEMPORARY_URL 署名付きURLのキャッシュを保持する期間(秒数) 120
AZURE_REFERENCE_FILE_WITH_RELAY_MODE true の場、GROWI サーバーが添付ファイルデータを送信します(relay mode). false (デフォルト値)の場合は、その場合ユーザーはサーバーによって作成された 共有アクセス署名付き URL (opens new window) によって Azure(Blob) から直接データをダウンロードします。 false
AZURE_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS true の場合、Azure(Blob) 関連設定の一部はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
全文検索オプション
ELASTICSEARCH_URI 接続する Elasticsearch サーバーの URI
ELASTICSEARCH_VERSION 接続する Elasticsearch のメジャーバージョン。(8 または 9 を指定可能) 9
ELASTICSEARCH_MAX_BODY_LENGTH_TO_INDEX インデックスを作成する1ページあたりの最大文字数。本文の文字数がこの値を上回るページはインデックスされなくなります。 100000
ELASTICSEARCH_REINDEX_BULK_SIZE インデックス再作成時に一度に処理するページドキュメントの数 100
ELASTICSEARCH_REINDEX_ON_BOOT システム起動時にインデックスを再作成する false
ELASTICSEARCH_REQUEST_TIMEOUT Elasticsearch サーバーへのリクエストに対するタイムアウト(msec) 8000
ELASTICSEARCH_REJECT_UNAUTHORIZED HTTPS スキーマでの接続時に証明書の検証を行うかどうか false
外部システム連携オプション
REDIS_URI 接続する Redis サーバーの URI (Redis を MongoDB の代わりにセッションストアとして利用する場合に設定してください)
NCHAN_URI 接続する Nginx Nchan (opens new window) サーバーの URI
HACKMD_URI 接続する HackMD(CodiMD) (opens new window) サーバーの URI
このサーバーは GROWI エージェントをロードする必要があります。 セットアップ方法はこちら
HACKMD_URI_FOR_SERVER GROWI Express サーバーが参照する HackMD(CodiMD) (opens new window) のURI。 未設定の場合は HACKMD_URI が使用されます。
PLANTUML_URI 接続する PlantUML (opens new window) サーバーの URI
DRAWIO_URI 接続する diagrams.net(draw.io) (opens new window) サーバーの URI
S2SMSG_PUBSUB_SERVER_TYPE
: nchan Nginx Nchan (opens new window) を利用します
: redis (未実装)
S2SMSG_PUBSUB_NCHAN_PUBLISH_PATH Nchan サーバーの publish エンドポイントのパス /pubsub
S2SMSG_PUBSUB_NCHAN_SUBSCRIBE_PATH Nchan サーバーの subscribe エンドポイントのパス /pubsub
S2SMSG_PUBSUB_NCHAN_CHANNEL_ID Nchan サーバーの接続チャンネルID
PROMSTER_ENABLED Promster (opens new window) サーバーの有効化 false
PROMSTER_PORT Promster サーバーを起動するポート 7788
SLACKBOT_TYPE Slack 連携を行う際に利用する Slack Bot のタイプ
SLACKBOT_WITHOUT_PROXY_SIGNING_SECRET Custom bot without proxy 環境下で利用する Signing Secret 文字列
SLACKBOT_WITHOUT_PROXY_BOT_TOKEN Custom bot without proxy 環境下で利用する Bot トークン文字列
SLACKBOT_WITH_PROXY_PROXY_URI Custom bot with proxy 環境下で利用する slackbot-proxy サーバーの URI
SLACKBOT_WITH_PROXY_SALT_FOR_GTOP Official bot または Custom bot with proxy 環境下で利用するトークンを生成する際の salt (GROWI to Proxy 向き) gtop
SLACKBOT_WITH_PROXY_SALT_FOR_PTOG Official bot または Custom bot with proxy 環境下で利用するトークンを生成する際の salt (GROWI to Proxy 向き) ptog
OpenTelemetry 関連オプション
OPENTELEMETRY_ENABLED OpenTelemetry によるデータ送信を有効にします。このオプションは、OpenTelemetry 公式 SDK の OTEL_SDK_DISABLED を上書きします。 true
OPENTELEMETRY_IS_APP_SITE_URL_HASHED OpenTelemetry で送信されるデータ中のサイト URL をハッシュ化します。 false
OPENTELEMETRY_ANONYMIZE_IN_BEST_EFFORT OpenTelemetry で送信されるデータに対して、追加の匿名化処理を行います。通常状態でも機密情報が送信されることはありませんが、より慎重にデータを匿名化したい環境においては、この設定を有効にすることで追加の保護層を提供できます。有効にした場合、わずかながらサーバーパフォーマンスに影響する可能性があります。 false
OTEL_EXPORTER_OTLP_ENDPOINT データ送信先エンドポイント https://telemetry.growi.org
その他の OTEL_ で始まる環境変数 OpenTelemetry 公式ドキュメントを参照してください。
GROWI AI オプション
AI_ENABLED true の場合、AI 連携を有効にします。 false
OPENAI_SERVICE_TYPE 利用する OpenAI 互換サービスの種別。v7.1.2 時点では openai のみ利用可能です。 openai
: openai OpenAI API を利用します
OPENAI_API_KEY OpenAI サービスで取得した API キーを指定します。
OPENAI_CHAT_ASSISTANT_INSTRUCTIONS ナレッジアシスタントで利用されるインストラクション ref (opens new window)
OPENAI_CHAT_ASSISTANT_MODEL ナレッジアシスタント機能で利用されるモデル gpt-4o-mini
OPENAI_THREAD_DELETION_CRON_EXPRESSION OpenAI スレッドの削除を実行するスケジュールを cron 形式で指定します。 0 * * * *
OPENAI_THREAD_DELETION_BARCH_SIZE 一度の処理で削除するスレッドの最大数 100
OPENAI_THREAD_DELETION_API_CALL_INTERVAL スレッド削除 API 呼び出しの間隔(ミリ秒) 36000
OPENAI_VECTOR_STORE_FILE_DELETION_CRON_EXPRESSION Vector store ファイルの削除を実行するスケジュールを cron 形式で指定します。 0 * * * *
OPENAI_VECTOR_STORE_FILE_DELETION_BARCH_SIZE 一度の処理で削除する Vector store ファイルの最大数 100
OPENAI_VECTOR_STORE_FILE_DELETION_API_CALL_INTERVAL Vector store ファイル削除 API 呼び出しの間隔(ミリ秒) 36000
OPENAI_SEARCH_ASSISTANT_INSTRUCTIONS 検索アシスタント機能で利用されるインストラクション '' (空文字列)
OPENAI_LIMIT_LEARNABLE_PAGE_COUNT_PER_ASSISTANT 1つのナレッジアシスタントが学習できるページの上限数 3000
GROWI AI Agent オプション
AI_ENABLED true の場合、GROWI AI Agent を有効にします。 false
AI_PROVIDERS プロバイダごとの設定(有効化・Azure OpenAI 設定など)を JSON で指定します。
例: {"openai":{"enabled":true},"azure-openai":{"enabled":true,"azureOpenaiSettings":{"resourceName":"<リソース名>"}}}
AI_PROVIDER_API_KEYS プロバイダごとの API キーを JSON で指定します。
例: {"openai":"sk-xxxx","anthropic":"sk-ant-xxxx"}
AI_ALLOWED_MODELS ユーザーが選択できるモデルの一覧を JSON 配列で指定します。
例: [{"provider":"openai","modelId":"gpt-4o","isDefault":true},{"provider":"anthropic","modelId":"claude-sonnet-4-5"}]
[]
AI_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS true の場合、接続設定(AI 機能の有効化・プロバイダの有効化・API キー)はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
AI_MODEL_CATALOG_REFRESH_ON_STARTUP true の場合、起動時にモデルカタログを更新します。 false
AI_MODEL_CATALOG_REFRESH_CRON_SCHEDULE モデルカタログを定期更新するスケジュールを cron 形式で指定します。空にすると定期更新を無効化します。 0 4 * * *
管理設定を上書きする環境変数
APP_SITE_URL_USES_ONLY_ENV_VARS true の場合、サイト URL の設定値はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
FILE_UPLOAD_USES_ONLY_ENV_VAR_FOR_FILE_UPLOAD_TYPE true の場合、ファイルアップロードタイプの設定値はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
LOCAL_STRATEGY_ENABLED true の場合、ID/Pass ログインが有効になります。
LOCAL_STRATEGY_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS true の場合、ID/Pass オプションの設定値はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
SAML_ENABLED true の場合、SAML 連携を有効にします。
SAML_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS true の場合、SAML オプションの設定値はローカル DB の値を参照せず、環境変数の値のみを参照します。 false
SAML_ENTRY_POINT IdP のエントリーポイント
SAML_ISSUER 認証要求をする issuer (SP)
SAML_ATTR_MAPPING_ID SAML Identity プロバイダ内で一意に識別可能な値を格納している属性
SAML_ATTR_MAPPING_USERNAME 新規ユーザーのアカウント名 (username) に関連付ける属性
SAML_ATTR_MAPPING_MAIL 新規ユーザーのメールアドレスに関連付ける属性
SAML_ATTR_MAPPING_FIRST_NAME 新規ユーザーの姓に関連付ける属性
SAML_ATTR_MAPPING_LAST_NAME 新規ユーザーの名に関連付ける属性
SAML_CERT IdP からのレスポンスを検証するための PEM エンコードされた X.509 証明書文字列
OAUTH_GOOGLE_CLIENT_ID OAuth ログインで使用する Google API の クライアント ID
OAUTH_GOOGLE_CLIENT_SECRET OAuth ログインで使用する Google API のクライアントシークレット
OAUTH_GITHUB_CLIENT_ID OAuth ログインで使用する GitHub API のクライアント ID
OAUTH_GITHUB_CLIENT_SECRET OAuth ログインで使用する GitHub API のクライアント シークレット
OAUTH_TWITTER_CONSUMER_KEY OAuth ログインで使用する Twitter カスタマーキー (API キー)
OAUTH_TWITTER_CONSUMER_SECRET OAuth ログインで使用する Twitter カスタマーシークレット(API シークレット)
GROWI Vault オプション
VAULT_ENABLED GROWI Vault 機能の有効化(デプロイ時に固定。実行時の切り替えは不可) false
VAULT_MANAGER_ENDPOINT GROWI アプリが vault-manager サービスへ接続する URL(有効化には設定が必須)
VAULT_MANAGER_INTERNAL_SECRET アプリと vault-manager 間の認証に使う共有シークレット。本番では必ず設定し、外部に漏らさないこと
VAULT_REPO_PATH vault-manager が管理する bare Git リポジトリのファイルパス(設定は必須。未設定のままでは vault-manager は起動しない。慣例値は /data/vault-repo.git
VAULT_BOOTSTRAP_ON_START 起動時に初期 bootstrap を実行する(true / false / force false
VAULT_BOOTSTRAP_RETRY_MAX bootstrap のリトライ最大回数 5
VAULT_BOOTSTRAP_RETRY_BASE_MS bootstrap リトライの基本バックオフ時間(ミリ秒) 30000
VAULT_BOOTSTRAP_RETRY_MAX_MS bootstrap リトライのバックオフ上限(ミリ秒) 1800000
VAULT_BOOTSTRAP_RETRY_DISABLED bootstrap の自動リトライを無効化する false
VAULT_BOOTSTRAP_HEARTBEAT_INTERVAL_MS bootstrap 実行中のハートビート書き込み間隔(ミリ秒) 10000
VAULT_BOOTSTRAP_HEARTBEAT_STALE_MS bootstrap のハートビートが古いと判断するまでの時間(ミリ秒) 60000
VAULT_DRIFT_DETECTION_DISABLED bootstrap 後の drift 検出スイープを無効化する false
VAULT_DRIFT_DETECTION_INTERVAL_MS drift 検出の実行間隔(ミリ秒) 300000
VAULT_DRIFT_MAX_PAGES_PER_TICK drift 検出 1 回あたりにスキャンする最大ページ数 10000
VAULT_RECONCILE_MAX_PAGES_PER_USER_REQUEST ユーザーによる reconcile 1 回あたりの最大ページ数 1000
VAULT_RECONCILE_MAX_PAGES_PER_ADMIN_REQUEST 管理者による reconcile 1 回あたりの最大ページ数 1000
VAULT_RECONCILE_MAX_CONCURRENT_PER_USER ユーザーごとの reconcile 同時実行数の上限 1
VAULT_RECONCILE_MAX_CONCURRENT_SYSTEM システム全体での reconcile 同時実行数の上限 3
VAULT_RECONCILE_CHUNK_SIZE reconcile 処理 1 チャンクあたりのページ数 100
VAULT_RECONCILE_HISTORY_RETENTION_DAYS reconcile 履歴ログの保持日数 30
VAULT_RECONCILE_REJECT_WHEN_BOOTSTRAP_NOT_DONE bootstrap 未完了時に reconcile 要求を拒否する true
VAULT_RECONCILE_ADMIN_BYPASS_CAPACITY_LIMIT 管理者の reconcile 要求がシステム同時実行数の上限を超過できるようにする false
VAULT_MAINTENANCE_TICK_MS vault-manager のメンテナンスループの tick 間隔(ミリ秒)。squash / gc の判定を駆動する 300000
VAULT_SQUASH_COMMIT_THRESHOLD namespace のコミット数がこの値を超えると履歴を squash する 1000
VAULT_SQUASH_AGE_HOURS 前回の squash からこの時間が経過すると squash を強制する(時間) 1
VAULT_GC_LOOSE_OBJECT_THRESHOLD loose object 数がこの値を超えると git gc を実行する 50000
VAULT_GC_INTERVAL_HOURS git gc を実行する間隔(時間) 24