Настройка окружения (с использованием контейнеров)

Предварительные замечания

Теперь начать разработку веб-сайтов Fedora стало проще благодаря использованию Docker (или Podman).

Мы предоставляем Dockerfile, который устанавливает зависимости в образ за вас, так что вам остаётся только смонтировать сайт как том, загрузить переводы и запустить сервер разработки.

В этой документации упоминается docker, но наше довольно простое его использование означает, что всё, скорее всего, будет работать и с podman с минимальными изменениями.

Сборка образа контейнера

Сначала клонируйте репозиторий:

git clone https://pagure.io/fedora-web/websites.git

(Вместо этого можно клонировать ваш форк или позже добавить форк как второй удалённый репозиторий.)

Теперь убедитесь, что Docker запущен, и выполните:

sudo docker build -t fedora-websites .

Это создаст образ контейнера для дальнейшего использования.

Загрузка переводов

У нас есть скрипт для загрузки переводов. Вызовем его из контейнера:

sudo docker run -it --rm -v "$(pwd):/opt/:z" fedora-websites ./scripts/pull-translations.sh

Обратите внимание, что мы монтируем том (-v) в Docker, указывающий на нашу локальную копию репозитория. Мы ссылаемся на созданный ранее образ fedora-websites и вызываем из него скрипт ./scripts/pull-translations.sh.

Запуск сервера разработки

Теперь мы готовы запустить сервер разработки:

sudo docker run -it --rm -v "$(pwd):/opt/:z" -p 5000:5000 fedora-websites flask run --reload --host 0.0.0.0

Обратите внимание, что нам нужен -p 5000:5000, чтобы получить доступ к серверу разработки с реальной хост-машины. Также учтите, что нужно указать Flask слушать 0.0.0.0, поскольку по умолчанию он слушает 127.0.0.1, что недоступно вне контейнера.

Теперь можно перейти по адресу http://localhost:5000/ в любом браузере.

Теперь всё готово, и любые изменения, внесённые в репозиторий, должны сразу отображаться после обновления страницы в браузере.