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' // The location of the mount point within the container encode: 'utf8' // ReadFileSync encoding override: false // Override existing environment
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.txtdocker 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:
; // ... As early as possible in your Appconst options = {} console // your-usernameconsole // your-password // or ... const secrets = console // Object contain all container secrets
License
MIT
Use and abuse at your own risk.