Upgrade procedure:
$ echo 2.6.3 > .ruby-version
# upgrade ruby-build to know about the latest ruby versions.
# see also: github.com/rkh/rbenv-update
$ cd ~/.rbenv/plugins/ruby-build && git pull
# install the version of ruby specified in .ruby-version.
# see also: github.com/capistrano/rbenv/issues/83
$ rbenv install --skip-existing
# update the shell to use the latest version of ruby by default.
$ rbenv global 2.6.3
# update rubygems and bundler
$ gem update --system
# update the lockfile to use the latest version of bundler
$ bundle update --bundler
50 lines
2.2 KiB
Plaintext
50 lines
2.2 KiB
Plaintext
FROM ruby:2.6.3-slim-stretch
|
|
|
|
ENV DOCKERIZE_VERSION v0.6.1
|
|
ENV VIPS_VERSION 8.7.0
|
|
|
|
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 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/libvips/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
|