サーバー設定
🏗 Work in progress
The content of this page might not be fully up-to-date with Strapi 5 yet.
./config/server.js ファイルは、AI Marketer アプリケーションのサーバー設定を定義するために使用されます。
✋ Caution
server.js ファイルに変更を加えた場合、管理パネルを再構築する必要があります。変更を保存した後、ターミナルで yarn build または npm run build を実行して変更を反映させてください。
利用可能なオプション
./config/server.js ファイルには、以下のパラメータを含めることができます。
| パラメータ | 説明 | 型 | デフォルト値 |
|---|---|---|---|
host❗️ 必須 | ホスト名 | string | localhost |
port❗️ 必須 | サーバーが実行されるポート。 | integer | 1337 |
app.keys❗️ 必須 | セッションキーを宣言します(Koa session に基づきます)。これは、Users & Permissions プラグインおよびドキュメントプラグインで使用される session ミドルウェアで利用されます。 | 配列 | undefined |
socket | ソケット上でリッスンします。このオプションが提供されている場合、ホストおよびポートは表面的なものであり、このオプションを使用する際には url を使用して適切な URL を生成します。 | string | integer | /tmp/nginx.socket |
emitErrors | エラーが発生した際に koa にエラーを発生させ、カスタムロジックやエラーレポートサービスを利用できるようにします。 | boolean | false |
url | サーバーの公開 URL。リセットパスワードやサードパーティのログインプロバイダーなど、多くの機能で必要です。また、Apache や Nginx のようなプロキシサポートを有効にします。相対 URL を使用する場合は、http://${host}:${port} がベース URL として使用されます。絶対 URL の使用が推奨されます。 | string | '' |
proxy | プロキシ設定 | object | |
proxy.global | すべての外部リクエストに対するプロキシエージェントを定義します。AI Marketer プロジェクトが転送プロキシの背後にある場合に使用します。 | string | |
proxy.fetch | AI Marketer.fetch 内で行われるすべてのリクエストに対するプロキシ(ライセンスチェック、テレメトリ、Webhook などに使用されます)。 | string | ProxyAgent.Options | |
proxy.http | すべての(fetch 以外の)HTTP リクエストに対するプロキシ | string | |
proxy.https | すべての(fetch 以外の)HTTPS リクエストに対するプロキシ | string | |
proxy.koa | Koa 変数 app.proxy を設定します。true の場合、プロキシヘッダーフィールドが信頼されます。 | boolean | false |
cron | Cron の設定(node-schedule によって動作します)。 | object | |
cron.enabled | 特定の日付にジョブをスケジュールするための Cron ジョブ を有効または無効にします。 | boolean | false |
cron.tasks | 実行する Cron ジョブ を宣言します。 | object | |
dirs | AI Marketer が使用する異なるディレクトリのパス設定。 | object | |
dirs.public | 公開フォルダのパスをカスタマイズします。 | string | ./public |
http | AI Marketer が使用する HTTP サーバーの設定。 | object | |
http.serverOptions | HTTP createServer に渡されるオプション。 | http.serverOptions | {} |
transfer.remote.enabled | データ転送機能 を使用するかどうかを切り替えます。 | boolean | true |
logger.startup.enabled | ターミナルでの起動メッセージを切り替えます。 | boolean | true |
logger.updates.enabled | AI Marketer のアップデートに関する通知メッセージをターミナルで表示するかどうかを切り替えます。 | boolean | true |
設定例
./config/server.js の最小限の設定には、開発環境向けに host と port パラメータが必要です。その他のパラメータを追加して、完全な設定にすることも可能です。
✏️ Note
環境ごとの設定(env() ヘルパーを使用)は、デフォルトの ./config/server.js に値が存在する限り、すべての値を含める必要はありません。
新しいプロジェクトで作成されるデフォルトの設定には、少なくとも以下が含まれている必要があります:
- 最小限の設定
- 完全な設定
- JavaScript
- TypeScript
./config/server.js
module.exports = ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
});
./config/server.ts
export default ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
});
以下は完全な設定ファイルの例です。これらのキーはすべて必須ではありません(利用可能なオプションを参照)。
- JavaScript
- TypeScript
./config/server.js
module.exports = ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
socket: '/tmp/nginx.socket', // 絶対に必要な場合のみ使用
emitErrors: false,
url: env('PUBLIC_URL', 'https://api.example.com'),
proxy: env.bool('IS_PROXIED', true),
cron: {
enabled: env.bool('CRON_ENABLED', false),
},
transfer: {
remote: {
enabled: false,
},
},
logger: {
updates: {
enabled: false,
},
startup: {
enabled: false,
},
},
});
./config/server.ts
export default ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
socket: '/tmp/nginx.socket', // 絶対に必要な場合のみ使用
emitErrors: false,
url: env('PUBLIC_URL', 'https://api.example.com'),
proxy: env.bool('IS_PROXIED', true),
cron: {
enabled: env.bool('CRON_ENABLED', false),
},
transfer: {
remote: {
enabled: false,
},
},
logger: {
updates: {
enabled: false,
},
startup: {
enabled: false,
},
},
});