1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dotenvx とは?.env を暗号化して安全に Git 管理できる新しい環境変数管理ツール

1
Last updated at Posted at 2025-12-04

dotenvx とは?.env を暗号化して安全に Git 管理できる新しい環境変数管理ツール

最近SNSで目にとまったdotenvxついて調べてみたので紹介するぞ!
開発で欠かせない .env ファイル
しかし、従来は .envGit 管理できないという問題があった。

  • .env は GitIgnore
  • .env.example はあくまでテンプレ
  • 新メンバー参加時の共有が手間
  • 変更履歴が残らず事故りやすい

これらをまとめて解決するのが dotenvx なのだ!
dotenvx を使うと、暗号化した .env を Git にコミットできるようになり、チーム開発が楽になるぞ。


🚀 dotenvx の特徴

🔐 1. .env を AES-256 で暗号化できる

dotenvx encrypt
.env        ← 平文  
.env.enc    ← 暗号化された .env(Git 入れて OK)  
.env.keys   ← 復号キー一覧(Git 入れない)

🔑 2. 復号鍵(DOTENV_KEY)を環境ごとに管理できる

DOTENV_KEY=xxxxx dotenvx run -- node app.js

🧑‍🤝‍🧑 3. チーム共有が楽

.env.enc は Git で共有し、鍵だけ安全に配布する構造。

🌍 4. 言語を問わず使える

ts、js / Python / Go / Ruby / Rust など大体の言語で使える模様。


📦 インストール方法

dotenvx は Node.js 製の CLI ツール

✔ npm グローバルインストール

npm i -g dotenvx

✔ プロジェクトローカル

npm i -D dotenvx

📝 基本的な使い方

1. .env 作成

DATABASE_URL=mysql://user:pass@localhost:3306/db
API_KEY=abcdef12345
SECRET_TOKEN=secret

2. 暗号化

dotenvx encrypt

3. 実行

Node:

dotenvx run -- node app.js

Python:

dotenvx run -- python main.py

Docker:

dotenvx run -- docker compose up

🔍 dotenvx encrypt を実行するとどうなる?

dotenvx encrypt を叩くと以下の処理が行われる。

🧩 ① .env を読み込む

現在の .env の内容を読み込む。

🔐 ② AES-256 で暗号化し .env.enc を生成

読めない暗号データを生成。

🔑 ③ 復号鍵を .env.keys に保存

複数環境にも対応。

📌 ④ 元の .env は削除されない

編集しやすい状態を維持するため残される。


🚀 dotenvx run を実行するとどうなる?

dotenvx run -- node app.js を叩くとこんな感じで動くぞ。

① DOTENV_KEY の取得

環境変数 / .env.keys / 引数 から鍵を取得。

.env.enc を復号(メモリ上)

復号した .env は ディスクに保存されない

③ 環境変数としてプロセスへ注入

Node や Python から process.env / os.getenv で参照可能。

④ アプリを実行

復号済み環境変数を持った状態で app が走る。

🔑 複数環境の鍵を追加

dotenvx key:add production

🛡 セキュリティ

  • .env.enc は AES-256 で暗号化
  • 復号鍵だけ保護すれば安全
  • Public リポジトリでも .env.enc は晒しておk

📁 GitIgnore 設定

.env
.env.keys

🎉 まとめ

  • .env.enc を Git にコミットできる
  • 復号鍵だけ秘匿すれば安全
  • 言語非依存で導入しやすい

わいも今後実際にプロジェクトで使ってみたいぞ。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?