Skip to content
This repository has been archived by the owner on Aug 16, 2018. It is now read-only.

Latest commit

 

History

History
87 lines (58 loc) · 5.08 KB

README.ru.md

File metadata and controls

87 lines (58 loc) · 5.08 KB

ConSup - инфраструктура docker на основе consul и supervisord

Проект для создания и эксплуатации серверных приложений с помощью контейнеров Docker

Особенности

  • Все контейнеры docker публикуются как автоматические билды, вся приватная информация размещается в каталоге, являющимся текущим при запуске контейнера
  • Каждый контейнер представляет собой логический сервис, который может состоять из нескольких процессов. Например, сервис postgresql, кроме СУБД, содержит сервер dbcc для автоматического создания БД и пользователей. Эти процессы управляются supervisor
  • Взаимодействие между контейнерами осуществляется с помощью consul (каждый контейнер линкуется с контейнером consul и содержит в своем составе consul agent, который дополнительно выполняет функции Health check сервисов контейнера)
  • Совместно используемые контейнеры описываются как зависимости. Например, единственный запущенный контейнер postgres может использоваться несколькими другими контейнерами. При старте контейнера его зависимости запускаются автоматически.
  • Конфигурация контейнеров задается в yml-файлах, трансляция которых в аргументы docker производится bash-скриптом fidm

Зависимости

Поддерживаемые сервисы

Системные

  • consul - сервис регистрации, мониторинга контейнеров и key-value хранилище конфигураций
  • nginx - фронтенд http-сервисов, автогенерация сертификатов Let's Encrypt, сервис статических сайтов
  • postgresql - СУБД Postgresql

Прикладные

  • consul-ui - Web-интерфейс с consul
  • webhook - сервис Continuous integration
  • gitbook - генерация статического сайта документации по файлам Markdown
  • gogs - управление Git
  • mattermost - платформа обмена сообщениями
  • pdns - DNS-сервер

См. также: Dockerfiles/*/

Схема инфраструктуры consup

Container structure

Установка

Установка производится на хост с 64bit linux (64bit - это требование docker).

Установка make и wget

Ниже описывается вариант для apt-based ОС (Debian, Ubuntu), в других дистрибутивах установка make и wget производится аналогично.

При установке пакета потребуется пароль для sudo.

which make > /dev/null || sudo apt-get install make

Если в системе не установлен wget, он ставится аналогично:

which wget > /dev/null || sudo apt-get install wget

Установка docker, fidm, consup

Загрузка Makefile и конфигураций fidm:

cd /opt
wget -qO- https://raw.githubusercontent.com/LeKovr/consup/master/install.sh | sh

Установка docker и fidm (потребуется пароль для sudo)

docker будет установлен согласно инструкции. Если такой вариант не подходит, надо предварительно поставить docker вручную.

cd /opt/consup
make deps

Для того, чтобы текущий пользователь мог работать с docker, его надо добавить в группу docker:

sudo usermod -a -G docker $USER

Лицензия

The MIT License (MIT), see LICENSE.

Copyright (c) 2014 - 2017 Alexey Kovrizhkin lekovr@gmail.com