diff --git a/.dockerignore b/.dockerignore
index 7892e503c9232f6cb4a25186c3fefb673fc24e51..21d1f59a1915fdbc1e1be4c5de6e80d58a4960a5 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -5,3 +5,4 @@ public/assets
 node_modules
 storybook
 neo4j
+vendor/bundle
diff --git a/Dockerfile b/Dockerfile
index bcc911343c7c7745cafc92f702da9c911e80310f..f5eb088933b8c69c24b94eae2f8418b6c24cda38 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,7 +5,7 @@ ENV RAILS_ENV=production \
 
 WORKDIR /mastodon
 
-COPY . /mastodon
+COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/
 
 RUN BUILD_DEPS=" \
     postgresql-dev \
@@ -28,4 +28,6 @@ RUN BUILD_DEPS=" \
  && apk del $BUILD_DEPS \
  && rm -rf /tmp/* /var/cache/apk/*
 
+COPY . /mastodon
+
 VOLUME /mastodon/public/system /mastodon/public/assets