Запускаем свой блог на Ghost с помощью docker-compose

от автора

Ghost + Docker

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 initial page

В принципе 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *