mtpereira.ghost

Ghost Статус сборки

Устанавливает Ghost, платформу для ведения блогов. По умолчанию устанавливает последнюю доступную версию Ghost с официального сайта.

По умолчанию устанавливает последнюю версию Node из репозитория Nodesource с помощью роли nodesource.node.

По умолчанию устанавливает и настраивает прокси-сервер Nginx с помощью роли jdauphant.nginx.

Эта роль также решает проблему Ghost, связанную с вопросом #2639 на хостах с libc 2.13 или более старыми версиями, обеспечивая предварительную компиляцию sqlite3 npm. Это было протестировано и подтверждено на Debian Wheezy.

Требования

Отсутствуют.

Переменные роли

Обязательные переменные:

  • ghost_install_dir: Директория, где будет установлен Ghost. Также это домашняя директория пользователя, который запускает Ghost. По умолчанию /var/www/ghost.
  • ghost_user_name: Имя пользователя для пользователя, который запускает Ghost. По умолчанию ghost.
  • ghost_user_group: Группа для пользователя, который запускает Ghost. По умолчанию ghost.
  • ghost_config_mail: Конфигурация почты Ghost. Ожидает YAML-словарь. По умолчанию {}.
  • ghosts_config_database: Конфигурация базы данных Ghost. Ожидает YAML-словарь. По умолчанию настраивает базу данных sqlite3, что является значением по умолчанию для Ghost.
  • ghosts_config_server: Конфигурация сервера Ghost. Ожидает YAML-словарь. По умолчанию localhost на порту 2368.
  • ghost_nodejs_enabled: Включает или отключает установку nodejs. По умолчанию yes.
  • ghost_nginx_enabled: Включает или отключает настройку прокси Nginx. По умолчанию yes.
  • ghost_nginx_port: Определяет порт, на котором будет слушать Nginx. По умолчанию 80.
  • ghost_nginx_sites: Настройка сайтов Nginx, переданная роли jdauphant.nginx. Ознакомьтесь с README для получения дополнительной информации. По умолчанию настраивает обратный прокси, который слушает на порту 80 и запрещает доступ к админ-панели Ghost, кроме запросов, поступающих с локального хоста.

Внутренние переменные, не рекомендуется изменять:

  • ghost_fetch_url: URL, используемый для загрузки Ghost. По умолчанию https://ghost.org/zip/ghost-latest.zip.
  • ghost_fetch_dir: Директория для хранения zip-архива Ghost. По умолчанию /tmp.
  • ghost_nodejs_pin_priority: Приоритет для apt-preferences. По умолчанию 500.
  • ghost_nodejs_path: Путь к бинарному файлу Nodejs. По умолчанию /usr/bin/node.

Зависимости

Эти роли можно установить, выполнив команду ansible-galaxy install -r requirements.yml.

Локальное тестирование

Тесты можно запустить на системах Debian Wheezy и Ubuntu Trusty, выполнив "vagrant up". Доступны следующие переменные окружения:

  • ANSIBLE_TAGS: Список тегов, разделенных запятыми, которые будут запущены Ansible. По умолчанию all.
  • ANSIBLE_VERBOSE: Уровень подробности Ansible. По умолчанию v.

Пример плейбука

- hosts: servers
  roles:
     - mtpereira.ghost

Для нескольких экземпляров Ghost на одном хосте:

- hosts: servers
  roles:
    - role: mtpereira.ghost
      ghost_install_dir: /var/www/ghost_two
      ghost_config_server:
        host: "127.0.0.1"
        port: "2369"
      ghost_nginx_sites:
        ghost_two:
          - listen 8080
          - server_name {{ ghost_config_server.host }}
          - proxy_set_header X-Real-IP $remote_addr
          - proxy_set_header Host $http_host
          - location / { proxy_pass {{ ghost_internal_url }}; }
          - location ~ ^/ghost/setup { allow {{ ghost_nginx_admin_allowed_cidr }}; deny all; }
    - role: mtpereira.ghost
      ghost_install_dir: /var/www/ghost_two
      ghost_config_server:
        host: "127.0.0.1"
        port: "2368"
      ghost_nginx_sites:
        ghost_one:
          - listen 80
          - server_name {{ ghost_config_server.host }}
          - proxy_set_header X-Real-IP $remote_addr
          - proxy_set_header Host $http_host
          - location / { proxy_pass {{ ghost_internal_url }}; }
          - location ~ ^/ghost/setup { allow {{ ghost_nginx_admin_allowed_cidr }}; deny all; }

Если у вас уже настроен собственный веб-сервер для нескольких экземпляров, вы можете пропустить определение ghosts_nginx_sites.

Лицензия

BSD

Информация об авторе

Спасибо nodesource за репозиторий пакетов Nodejs

Спасибо SimpliField за роль Ansible.

Спасибо jdauphant за роль Nginx.

Страница проекта GitHub

Мануэль Тьяго Перейра

О проекте

Role for installing Ghost, a blogging platform.

Установить
ansible-galaxy install mtpereira.ghost
Лицензия
Unknown
Загрузки
736
Владелец
:wrench: Builder of reliable systems. :book: Technical reviewer of the "Kubernetes on AWS" book. :coffee: 2023 Portuguese AeroPress champion