FROM ubuntu:xenial MAINTAINER Like Ma ENV DEBIAN_FRONTEND noninteractive # Установка необходимых пакетов и зависимостей RUN apt-get update && apt-get install -y apt-utils libffi-dev --no-install-recommends \ sudo sshpass curl git-core zlib1g-dev build-essential \ libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 \ libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties \ nodejs npm # Установка rbenv и ruby-build RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv && \ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build && \ export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/plugins/ruby-build/bin:$PATH" && \ eval "$(rbenv init -)" && \ rbenv install 2.3.3 && \ rbenv global 2.3.3 && \ echo 'Проверка установки Ruby' && ruby -v && \ echo 'Проверка установки Gem' && gem -v # Устанавливаем путь к Ruby в переменной окружения PATH ENV PATH /root/.rbenv/versions/2.3.3/bin:$PATH # Экспорт путей и инициализация rbenv RUN /bin/bash -c 'export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/plugins/ruby-build/bin:$PATH" && \ eval "$(rbenv init -)"' # Установка Bundler и Bower RUN /bin/bash -c 'echo "gem: --no-document" > ~/.gemrc && \ $HOME/.rbenv/versions/2.3.3/bin/gem install bundler -v 1.17.3 && \ npm install -g bower' # Клонирование репозитория проекта RUN git clone https://git.softuniq.eu/UniqueSoft/gluster-web-interface.git /gluster-web # Установка Node.js и создание символической ссылки RUN apt-get install -y nodejs npm && ln -s /usr/bin/nodejs /usr/bin/node # Установка необходимых зависимостей для ffi RUN apt-get install -y libffi-dev # Явная установка ffi RUN /bin/bash -c '$HOME/.rbenv/versions/2.3.3/bin/gem install ffi -v 1.9.18' # Установка зависимостей проекта WORKDIR /gluster-web RUN echo "gem 'tzinfo-data'" >> /gluster-web/Gemfile RUN /bin/bash -c "cd /gluster-web && echo \"gem 'tzinfo-data'\" >> Gemfile" RUN /bin/bash -c "source ~/.bashrc && bower install --allow-root && \ $HOME/.rbenv/versions/2.3.3/bin/bundle install" # Настройка базы данных RUN /bin/bash -c "source ~/.bashrc && export PATH=\"$HOME/.rbenv/versions/2.3.3/bin:$PATH\" && bin/rake db:migrate" # Очистка и удаление ненужных пакетов RUN apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ apt-get purge -y --auto-remove # Копирование entrypoint скрипта COPY entrypoint / # Открытие порта и установка точки входа EXPOSE 3000 ENTRYPOINT ["/entrypoint"]