- PVSM.RU - https://www.pvsm.ru -

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

Ghost + Docker
Ghost это очень мощная и в то же время лаконичная платформа для блогинга, а docker-compose прекрасный инструмент для установки и конфигурирования программ с помощью одного .yml файла. В этой статьей я хочу коротко рассказать о том как мы быстро настроили блог для нашего проекта [1] с помощью docker-compose.

Начнем!

Во-первых, проверьте что на вашей машине установлен docker и docker-compose. Команды приведенные ниже должны вывести версии этих утилит.

docker -v
docker-compose -v

В Docker Hub есть официальный образ с Ghost [2], его мы и будем использовать в нашем 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.

Автор: Ilya

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/hosting/252014

Ссылки в тексте:

[1] нашего проекта: https://habrahabr.ru/post/325786/

[2] официальный образ с Ghost: https://hub.docker.com/_/ghost/

[3] Источник: https://habrahabr.ru/post/325868/