FROM ruby:2.5.1-slim-stretch

ENV DOCKERIZE_VERSION v0.6.1
ENV VIPS_VERSION 8.6.4

RUN apt-get update && \
  apt-get -y install wget && \
  wget -q https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && \
  tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz  && \
  rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && \
  apt-get -y install -qq curl gnupg apt-transport-https apt-utils build-essential automake libssl-dev libxml2-dev libxslt-dev ncurses-dev sudo libreadline-dev flex bison ragel memcached libmemcached-dev git libcurl4-openssl-dev imagemagick libmagickcore-dev libmagickwand-dev sendmail-bin sendmail postgresql-client libpq-dev nginx ssh coreutils ffmpeg mkvtoolnix emacs24-nox telnet libgif-dev && \
  curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
  echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
  curl -sSL https://deb.nodesource.com/setup_10.x | sudo -E bash - && \
  apt-get update && \
  apt-get -y install nodejs yarn && \
  apt-get remove cmdtest && \
  apt-get clean && \
  cd /tmp && \
  wget -q https://github.com/jcupitt/libvips/releases/download/v$VIPS_VERSION/vips-$VIPS_VERSION.tar.gz && \
  tar xzf vips-$VIPS_VERSION.tar.gz && \
  cd vips-$VIPS_VERSION && \
  ./configure --prefix=/usr && \
  make install && \
  ldconfig && \
  cd /tmp && \
  rm -rf vips-$VIPS_VERSION && \
  useradd -ms /bin/bash danbooru -u 1000 && \
  mkdir /app && \
  mkdir -p /var/www/danbooru/shared/data && \
  mkdir -p /var/www/danbooru/shared/data/preview && \
  mkdir -p /var/www/danbooru/shared/data/crop && \
  mkdir -p /var/www/danbooru/shared/data/sample 
COPY . /app
RUN chown -R danbooru:danbooru /app && \
  chown -R danbooru:danbooru /var/www/danbooru && \
  mkdir /var/run/danbooru && \
  chown danbooru:danbooru /var/run/danbooru 
EXPOSE 3000
USER danbooru
RUN echo 'gem: --no-document' > ~/.gemrc && \
  gem install bundler --quiet
WORKDIR /app
RUN bundle install
RUN yarn install
COPY script/install/database.yml.templ /app/config/database.yml
COPY script/install/danbooru_local_config.rb.templ /app/config/danbooru_local_config.rb
EXPOSE 3000
CMD sleep 1d