Тема: Nginx и Middleman (Ruby)

Что-то на извращение потянуло... Есть API документатор https://github.com/lord/slate который очень нравится программистам. Все бы хорошо, но он написан на Ruby, а если это все надо поставить на Debian8 то проблема в квадрате.

Ставим руби, примерно так:

apt-get update
apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev git

Создаем пользователя и все остальные операции делаем от его имени. Home /var/www

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
type rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install -l
rbenv install 2.3.3
rbenv global 2.3.3
ruby -v
echo "gem: --no-document" > ~/.gemrc
gem install bundler
gem install middleman

Теперь в /var/www/api1/current клонируем Slate. Настраиывем nginx. Все по желанию, домен, ssl...

...
  location = /api1 {
    return 302 /api1/;
  }
  location ~ ^/api1(/?)(.*)$ {
    proxy_pass http://127.0.0.1:4567/$2$is_args$args;
  }
...

и systemd service для запуска middleman'a

# cat /etc/systemd/system/middleman-api1.service 
[Unit]
Description=Middleman api1 container
[Service]
User=www-data
Restart=always
WorkingDirectory=/var/www
ExecStart=/bin/bash -lc 'source /var/www/.bashrc ; cd /var/www/api1/current ; bundle exec middleman server --watcher-force-polling --watcher-latency=1'
[Install]
WantedBy=default.target

Немного кривоватенько, еще не придумал до конца как сделать поудобнее, как появится больше проектов - буду додумывать.