Point systemctl para usar variáveis de um arquivo

0

Estou usando systemctl para iniciar e manter meu aplicativo ativo. Abaixo está o meu arquivo .service . Observe o Environment='METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}' . Aqui é onde eu estarei armazenando chaves privadas e desejo não colocá-las visíveis neste local.

A minha pergunta é, exatamente como eu peço ao systemctl para ler de um arquivo em um local específico em

[Service]
ExecStart=/usr/bin/node /home/wow-doge/experimental/wow_doge_builds/bundle/main.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=logdoge
#User=root
#Group=root
Environment=NODE_ENV=production
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1
Environment=MONGO_URL=mongodb://127.0.0.1:27017/wow-doge
Environment=ROOT_URL=https://localhost
Environment='METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}'

[Install]
WantedBy=multi-user.target
    
por blueren 24.05.2017 / 11:30

1 resposta

2

Extraído de link

EnvironmentFile similar to Environment directive but reads the environment variables from a text file. The text file should contain new-line-separated variable assignments.

Exemplo:

[Service]
EnvironmentFile=/etc/envfile

Conteúdo de /etc/envfile :

NODE_ENV=production
PORT=3000
HTTP_FORWARDED_COUNT=1
MONGO_URL=mongodb://127.0.0.1:27017/wow-doge
ROOT_URL=https://localhost
METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}
    
por 24.05.2017 / 11:38