Замените параметр .env содержимым файла

Я хочу заменить параметр в моем .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 ###

Это возможно?

Лучший, Христианин

Да, отбросьте команду и используйте сценарий пользовательской точки входа.

emix 03.07.2018 13:11

Да, было бы решение. И как это заменить?

Christian Siewert 03.07.2018 13:12

Удалите command, добавьте entrypoint. Довольно просто.

emix 03.07.2018 13:43

Парень, ты понятия не имеешь, как выглядит моя среда или как настроены мои контейнеры, так что перестань говорить ерунду. Использование точки входа отменяет точку входа по умолчанию для изображения, которое я использую, а это то, что я не могу сделать.

Christian Siewert 05.07.2018 13:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
130
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я решил это, просто экспортировав 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

Другие вопросы по теме