# 環境変数
| 環境変数名 | 説明 | デフォルト値 |
|---|---|---|
APP_SITE_URL | サイト URL (例: https://example.com 、 https://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 |