Заменить параметр .env содержимым файла - PullRequest
0 голосов
/ 03 июля 2018

Я хочу заменить параметр в моем .env содержимым файла при установке зависимостей.

У меня есть это в моем docker-compose.yml под конкретным php-контейнером:

command:
    - /bin/sh
    - -c
    - |
        date +%s | sha256sum | base64 | head -c 32 > passphrase.txt
        openssl genrsa -out config/jwt/private.pem -aes256 -passout file:passphrase.txt 4096
        openssl rsa -passin file:passphrase.txt -pubout -in config/jwt/private.pem -out config/jwt/public.pem
        composer install
        php bin/console --no-interaction doctrine:migrations:migrate

Теперь при запуске composer параметр JWT_PASSPHRASE должен быть заменен содержимым passphrase.txt:

###> lexik/jwt-authentication-bundle ###
# Key paths should be relative to the project directory
JWT_PRIVATE_KEY_PATH=config/jwt/private.pem
JWT_PUBLIC_KEY_PATH=config/jwt/public.pem
JWT_PASSPHRASE=???
JWT_TOKEN_TTL=3600
###< lexik/jwt-authentication-bundle ###

Возможно ли это?

Лучший, Christian

1 Ответ

0 голосов
/ 03 июля 2018

Я решил это, просто экспортировав JWT_PASSPHRASE. Мне не нужно записывать фразу-пароль в файл.

export JWT_PASSPHRASE=$(date +%s | sha256sum | base64 | head -c 32)
openssl genrsa -out config/jwt/private.pem -aes256 -passout pass:${JWT_PASSPHRASE}
openssl rsa -passin pass:${JWT_PASSPHRASE} -pubout -in ./config/jwt/private.pem -out ./config/jwt/public.pem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...