ARG RELEASE |
ARG LAUNCHPAD_BUILD_ARCH |
LABEL org.opencontainers.image.ref.name=ubuntu |
LABEL org.opencontainers.image.version=24.04 |
ADD file:1d7c45546e94b90e941c5bf5c7a5d415d7b868581ad96171d4beb76caa8ab683 in / |
CMD ["/bin/bash"] |
SHELL [/bin/bash -xeuo pipefail -O globstar -O dotglob -c] |
ARG RUBY_MINOR_VERSION=3.3.0 |
ENV DEBIAN_FRONTEND=noninteractive |
ENV LANG=C.UTF-8 |
ENV GEM_HOME=/home/danbooru/bundle |
ENV GEM_PATH=/home/danbooru/bundle/ruby/3.3.0:/usr/local/lib/ruby/gems/3.3.0 |
ENV PATH=/home/danbooru/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
RUN |1 RUBY_MINOR_VERSION=3.3.0 /bin/bash -xeuo pipefail -O globstar -O dotglob -c userdel ubuntu
useradd --user-group danbooru --create-home --shell /bin/bash
cat > /etc/apt/apt.conf.d/local <<EOF
Dpkg::Options {
"--force-confnew";
"--force-confdef";
}
EOF
apt-get update
apt-get install -y --no-install-recommends \
postgresql-client ca-certificates mkvtoolnix rclone openssl perl perl-modules-5.38 libpq5 libpcre3 libsodium23 \
libgmpxx4ldbl zlib1g libfftw3-bin libwebp7 libwebpmux3 libwebpdemux2 liborc-0.4.0t64 liblcms2-2 libpng16-16 libexpat1 \
libglib2.0-0 libgif7 libexif12 libheif1 libvpx9 libdav1d7 libseccomp-dev libjemalloc2 libarchive13 libyaml-0-2 libffi8 \
libreadline8t64 libarchive-zip-perl tini busybox less ncdu curl
apt-get purge -y --allow-remove-essential pkg-config e2fsprogs mount procps python3 tzdata
apt-get autoremove -y
rm -rf /etc/gnutls/config /var/{lib,cache,log} /usr/share/{doc,info}/* /usr/local/*
mkdir -p /var/{lib,cache,log}/apt /var/lib/dpkg
busybox --install -s
# buildkit |
WORKDIR /danbooru |
COPY /usr/local /usr/local # buildkit |
COPY /usr/local /usr/local # buildkit |
COPY /usr/local /usr/local # buildkit |
COPY /usr/local /usr/local # buildkit |
COPY /usr/local /usr/local # buildkit |
COPY /home/danbooru/bundle /home/danbooru/bundle # buildkit |
COPY /danbooru/public/packs /danbooru/public/packs # buildkit |
ENV LD_PRELOAD=libjemalloc.so.2 |
ENV MALLOC_CONF=background_thread:true,narenas:2,dirty_decay_ms:1000,muzzy_decay_ms:0,tcache:false |
ENV RUBY_YJIT_ENABLE=1 |
ENV VIPS_WARNING=0 |
ENV BOOTSNAP_CACHE_DIR=/home/danbooru/bootsnap |
ENV BOOTSNAP_READONLY=true |
ENV DOCKER=true |
RUN |1 RUBY_MINOR_VERSION=3.3.0 /bin/bash -xeuo pipefail -O globstar -O dotglob -c ldconfig
mkdir -p /images
chown danbooru:danbooru /danbooru /images /home/danbooru public/packs $GEM_HOME
# buildkit |
ENTRYPOINT ["tini" "-g" "--"] |
CMD ["bin/rails" "server"] |
USER danbooru |
COPY --chown=danbooru:danbooru . /danbooru # buildkit |
RUN |1 RUBY_MINOR_VERSION=3.3.0 /bin/bash -xeuo pipefail -O globstar -O dotglob -c mkdir -p public/data public/packs-dev
ln -s packs public/packs-test
ln -s /tmp tmp
bundle exec bootsnap precompile --gemfile app test
# Test that everything works
vips --version
ruby --version
cjpeg -version
ffmpeg -version
ffprobe -version
exiftool -ver
openresty -version
bin/good_job --help > /dev/null
bin/rails runner -e production 'puts "#{Danbooru.config.app_name}/#{Rails.application.config.x.git_hash}"'
# buildkit |
ARG DOCKER_IMAGE_REVISION= |
ARG DOCKER_IMAGE_BUILD_DATE= |
ENV DOCKER_IMAGE_REVISION= |
ENV DOCKER_IMAGE_BUILD_DATE= |