sw-env
Module that loads data from Docker Secrets into process.env with zero-dependency
Installation
NPM
npm install sw-env
Options
{
dir: '/run/secrets',
encode: 'utf8',
override: false
}
Usage
Create Docker secrets using the command line.
echo "your-password" | docker secret create DB_PASSWORD -
echo "your-username" | docker secret create DB_USERNAME -
Or using a text file that contains the value of the secret.
docker secret create DB_USERNAME /path/to/username.txt
docker secret create DB_PASSWORD /path/to/password.txt
Or in your docker-compose.yml
version: "3.8"
services:
app:
image: node:latest
secrets:
- DB_USERNAME
- DB_PASSWORD
deploy:
mode: replicated
replicas: 1
secrets:
DB_USERNAME:
name: DB_USERNAME
file: /path/to/username.txt
DB_PASSWORD:
name: DB_PASSWORD
file: /path/to/pwd.txt
Reading and using Docker secrets in Node.js:
import swenv from 'sw-env';
const options = {}
swenv(options)
console.log(process.env.DB_USERNAME)
console.log(process.env.DB_PASSWORD)
const secrets = swenv()
console.log(secrets.getSecrets())
License
MIT
Use and abuse at your own risk.