本文へスキップ

.env ファイルを使って、Daki Hosting でアプリケーションの環境変数を設定する方法。

環境変数を使うと、Discord ボットのトークンや API キーなどの設定値を、ソースコードに直接書かずにアプリケーションへ渡せます。Daki Hosting では、Portal のファイルマネージャーまたは SFTP を使って、サーバー上に .env ファイル を直接作成する方法をおすすめします。

このページで学べること

  • 環境変数とは何か、なぜ重要か
  • サーバー上に .env ファイルを作成する方法
  • Node.js と Python で .env の値を読み込む方法
  • シークレットを安全に保つためのベストプラクティス

環境変数とは?

環境変数は、実行中のアプリケーションが自身の環境から読み取れるキーと値のペアです。次の用途に使われる標準的な方法です:

  • 機密性の高い値(トークン、API キー、パスワード)をコードと分けて保存する
  • ソースファイルを変更したり再デプロイしたりせずに、設定を変更する
  • シークレットをバージョン管理にコミットしないようにする

.env ファイルの作成

Daki で環境変数を管理する最も簡単で確実な方法は、サーバー上に .env ファイルを作成することです。方法は 2 つあります:

方法 1: ファイルマネージャーを使う(簡単な編集)

  1. Portal(portal.daki.cc)でサーバーを開きます。
  2. Files タブを開きます。
  3. New File をクリックし、.env と名前を付けます。
  4. ファイルをクリックして Web エディターで開き、変数を追加します:
    .env
    BOT_TOKEN=your_discord_bot_token_here
    PORT=3000
    DATABASE_URL=your_db_connection_string
  5. Save をクリックします。
  6. サーバーを再起動します。

SFTP(認証情報は Settings タブにあります)でサーバーに接続し、ローカルマシンから .env ファイルを直接アップロードします。SFTP の設定方法は ファイルマネージャー を参照してください。

.env ファイルを公開の Git リポジトリに絶対にコミットしないでください。シークレットが誤って公開されないように、.env を .gitignore ファイルに追加してください。


アプリケーションで .env の値を読み込む

アプリケーションは .env ファイルを自動では読み込みません。環境に読み込むためのライブラリが必要です。

パッケージをインストールします(package.json に依存関係として追加します):

JSON
{
  "dependencies": {
    "dotenv": "^16.0.0"
  }
}

エントリーファイルの一番上で読み込みます:

JavaScript
require('dotenv').config();

const token = process.env.BOT_TOKEN;
const port  = process.env.PORT || 3000;

.env ファイルの形式

.env ファイルの各行は KEY=VALUE の形式に従います:

.env
# Comments start with a hash
BOT_TOKEN=your_token_here
API_KEY=some_api_key
DB_HOST=localhost
DB_PORT=5432
DEBUG=false
  • キーは通常、大文字とアンダースコアで書きます。
  • 値は引用符で囲む必要はありませんが、引用符も使えます。
  • # で始まる行はコメントで、無視されます。

ベストプラクティス

  • トークンやシークレットをソースコードに直接書かないでください。特にコードが GitHub にある場合は注意してください。
  • .env を .gitignore に追加して、誤ってコミットされないようにします。
  • .env ファイルはローカルではなくサーバー上で作成してください。または、バージョン管理から除外したローカルの .env を SFTP でアップロードしてください。
  • .env ファイルの作成・変更後は、サーバーを再起動してください。
  • 設定を見ただけで内容が分かる、分かりやすいキー名を使ってください。

次のステップ