From 8b5b320be79d1c1fc87c11decb47c8c11d2f2a1f Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 9 Jun 2020 17:50:47 -0500 Subject: [PATCH] docker: fix file permission problems. Store the app in /home/danbooru/app instead of in /app so that we have permission to write inside the app dir. /app was owned by root, which prevented the danbooru user from writing to it. --- config/docker/Dockerfile.danbooru | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/config/docker/Dockerfile.danbooru b/config/docker/Dockerfile.danbooru index c66d2a8cf..5dbef5ea0 100644 --- a/config/docker/Dockerfile.danbooru +++ b/config/docker/Dockerfile.danbooru @@ -1,7 +1,6 @@ FROM ubuntu:20.04 AS build RUN \ - useradd --create-home danbooru && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ build-essential \ @@ -15,12 +14,10 @@ RUN \ libvips-dev \ libxml2-dev \ postgresql-server-dev-all && \ - # webpacker expects the binary to be called `yarn`, but debian/ubuntu installs it as `yarnpkg`. ln -sf /usr/bin/yarnpkg /usr/bin/yarn -WORKDIR /app -USER danbooru +WORKDIR /build COPY Gemfile Gemfile.lock ./ RUN BUNDLE_DEPLOYMENT=true bundle install --jobs 4 @@ -39,7 +36,7 @@ RUN rm -rf node_modules log tmp && mkdir log tmp FROM ubuntu:20.04 RUN \ - useradd --create-home danbooru && \ + useradd --create-home --user-group danbooru && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ ruby \ @@ -49,11 +46,10 @@ RUN \ libxml2 \ postgresql-client -WORKDIR /app USER danbooru +WORKDIR /home/danbooru/app +COPY --from=build --chown=danbooru /build . -COPY --from=build /app . - -VOLUME ["/app/public/data"] -ENTRYPOINT ["/app/bin/rails"] +VOLUME ["/home/danbooru/app/public/data"] +ENTRYPOINT ["./bin/rails"] CMD ["server"]