Вход в GitHub на форуме Discourse сломан из-за настройки ENV proxy в app.yml

Всем привет

Для запуска команды ./launcher rebuild app я использую прокси, чтобы корректно загружать код с GitHub.

env:
  LANG: en_US.UTF-8
  DISCOURSE_DEFAULT_LOCALE: zh_CN
  HTTP_PROXY: http://10.27.xxx.xxx:7890
  HTTPS_PROXY: http://10.27.xxx..xx:7890

Однако при запуске моего сайта функция входа через GitHub не работает. Мне приходится запускать локальный прокси, чтобы исправить это.

Как можно убрать переменные окружения http_proxy и https_proxy для запущенного сайта?

Есть ли какие-либо команды, подобные приведённым ниже, которые помогут решить эту проблему?

./launcher enter app
// удалить переменные окружения
./launcher start app

Буду признателен за любую помощь.

Спасибо.

Возможно, если вы сначала выполните bootstrap, затем отредактируете app.yml, а после запустите start.

Также существует опция командной строки --docker-args. Возможно, при выполнении bootstrap можно передать туда какие-то параметры.

Могу ли я запустить ./launcher start app --docker-args?

Да, конечно. Это shell-скрипт, и вы можете его изучить. В верхней части файла есть некоторая документация. Однако я передаю аргументы Docker в команду запуска лаунчера, чтобы добавить необходимые настройки для работы с Traefik.

Спасибо, Джей, но я всё ещё не могу избавиться от эффекта, вызванного

./launcher rebuild app --docker-args="--net=host --env https_proxy=http://127.0.0.1:7890"

Мне нужно что-то, что позволит убрать настройки прокси при перезапуске моего приложения, например:

./launcher start app --docker-args="--net=host --removeEnv"   // removeEnv — это недействительная команда, я использую её только для иллюстрации

Вы пробовали изменить настройки окружения в YAML-файле между этапами загрузки (bootstrap) и запуска (start)?

Да, но это не работает, поэтому я решил не трогать app.yml и использовать --docker-args для передачи GFW.

Когда я пытаюсь войти через аутентификацию GitHub, оказывается, что запрос проходит через прокси-адрес, чего я не ожидал.

Кстати: мой сайт — emacs-china.org, вы можете воспроизвести проблему с аутентификацией GitHub.

Спасибо.

Наконец, мне удалось заставить это работать.

  1. Отредактируйте container/app.yml и удалите http_proxy.
  2. ./launcher destroy app
  3. ./launcher start app

Команда ./launcher destroy app в большинстве случаев удаляет настройки окружения Docker.

Из любопытства: что же вы ожидали? Разве HTTP_PROXY не должен делать именно это?