Ghost это очень мощная и в то же время лаконичная платформа для блогинга, а docker-compose прекрасный инструмент для установки и конфигурирования программ с помощью одного .yml файла. В этой статьей я хочу коротко рассказать о том как мы быстро настроили блог для нашего проекта с помощью docker-compose.
Начнем!
Во-первых, проверьте что на вашей машине установлен docker
и docker-compose
. Команды приведенные ниже должны вывести версии этих утилит.
docker -v docker-compose -v
В Docker Hub есть официальный образ с Ghost, его мы и будем использовать в нашем docker-compose.yml
файле.
Создадим docker-compose.yml
файл
touch docker-compose.yml
И вставим в него следующие строки
version: '2' services: web: restart: always image: ghost ports: - "80:2368" volumes: - {path_to_save_ghost_data}:/var/lib/ghost
Заменим {path_to_save_ghost_data}
на путь в котором Ghost будет хранить свою конфигурацию и БД, например у меня это /home/administrator/ghost
.
Все готово для того чтобы запустить Ghost на вашей машине:
docker-compose up -d
Предлагаю проверить что Ghost завелся и работает. Откройте в своем браузере адрес машины на которой установлен Ghost — вы должны увидеть стандартное приветствие.
В принципе Ghost работает и можно все оставить как есть, но я рекомендую чуть-чуть настроить конфигурацию.
Остановим наш блог:
docker-compose up -d
Откроем конфигурационный файл, находящийся по адресу {path_to_save_ghost_data}/config.js
, в моем случае это /home/administrator/ghost/config.js
.
Найдем секцию development
(да! не production
, т.к. по некоторым причинам невозможно запустить Ghost в production режиме внутри Docker, если вы знаете способ расскажите о нем в комментариях).
Укажите адрес своего блога и адрес отправителя, должно получится примерно так:
development: { url: 'https://blog.ambar.cloud', // адрес вашего блога mail: { from: 'hello@ambar.cloud', // адрес отправителя }, database: { client: 'sqlite3', connection: { filename: path.join(process.env.GHOST_CONTENT, '/data/ghost-dev.db') }, debug: false }, server: { host: '0.0.0.0', port: '2368' }, paths: { contentPath: path.join(process.env.GHOST_CONTENT, '/') } },
Запустим блог, и проверим что все работает
docker-compose up -d
На этом все, спасибо за внимание! В следующей статье я расскажу как быстро настроить OpenVPN c помощью docker-compose.
ссылка на оригинал статьи https://habrahabr.ru/post/325868/
Добавить комментарий