-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
33 lines (26 loc) · 948 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
FROM ruby:3.0.2-alpine as builder
RUN apk update && apk upgrade
RUN apk add --update alpine-sdk tzdata postgresql-dev postgresql-client librdkafka-dev bash && rm -rf /var/cache/apk/*
ENV APP_HOME /app
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
COPY Gemfile* $APP_HOME/
ENV RAILS_ENV=production
ENV SECRET_KEY_BASE mykey
RUN bundle install --deployment --jobs=4 --without development test
COPY . $APP_HOME
RUN rm -rf $APP_HOME/tmp/*
FROM ruby:3.0.2-alpine
RUN apk update && apk add --update tzdata postgresql-dev postgresql-client librdkafka-dev && rm -rf /var/cache/apk/*
ENV APP_HOME /app
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
COPY --from=builder /app $APP_HOME
ENV RAILS_ENV=production
ENV SECRET_KEY_BASE mykey
RUN bundle config --local path vendor/bundle
RUN bundle config --local without development:test:assets
EXPOSE 3000:3000
CMD rm -f tmp/pids/server.pid \
&& bundle exec rails db:migrate \
&& bundle exec rails s -b 0.0.0.0 -p 3000