|
1 | 1 | FROM amazonlinux:2.0.20240620.0 AS amazonlinux
|
| 2 | +SHELL ["/bin/bash", "-c"] |
2 | 3 |
|
3 | 4 | FROM ubuntu:20.04 AS bbb-playback
|
4 | 5 | ENV DEBIAN_FRONTEND=noninteractive
|
@@ -47,46 +48,45 @@ ENV NGINX_HOSTNAME=localhost
|
47 | 48 | CMD [ "/etc/nginx/start", "-g", "daemon off;" ]
|
48 | 49 |
|
49 | 50 | FROM amazonlinux-base AS base
|
50 |
| -# Install Node.js (needed for yarn) |
| 51 | +# Install basic packages |
51 | 52 | RUN yum -y install git gcc-c++ make libyaml-devel libffi-devel glibc-devel readline-devel openssl-devel
|
| 53 | +# Install Node.js (needed for yarn) |
52 | 54 | RUN curl -sL https://rpm.nodesource.com/setup_16.x | bash -
|
53 | 55 | RUN yum -y install nodejs
|
54 |
| -# Install Ruby & Rails |
| 56 | +# Install other packages |
55 | 57 | RUN curl -sL -o /etc/yum.repos.d/yarn.repo https://dl.yarnpkg.com/rpm/yarn.repo
|
56 | 58 | RUN amazon-linux-extras enable postgresql14 \
|
57 |
| - && yum -y install tar gzip yarn shared-mime-info libxslt zlib-devel sqlite-devel mariadb-devel libpq-devel |
| 59 | + && yum -y install tar gzip yarn shared-mime-info libxslt zlib-devel sqlite-devel mariadb-devel libpq-devel python3 python3-pip shadow-utils |
| 60 | +# Setup user scalelite |
| 61 | +RUN groupadd scalelite --gid 1000 && \ |
| 62 | + useradd -u 1000 -d /srv/scalelite -g scalelite scalelite |
| 63 | +RUN groupadd scalelite-spool --gid 2000 && \ |
| 64 | + usermod -a -G scalelite-spool scalelite |
| 65 | +USER scalelite:scalelite |
| 66 | +# Install Ruby |
58 | 67 | RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv && \
|
59 |
| - echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc && \ |
60 |
| - echo 'eval "$(rbenv init -)"' >> ~/.bashrc && \ |
61 | 68 | git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build && \
|
62 | 69 | ~/.rbenv/bin/rbenv install 3.3.6 && \
|
63 | 70 | ~/.rbenv/bin/rbenv global 3.3.6 && \
|
64 | 71 | ~/.rbenv/bin/rbenv rehash
|
65 |
| -ENV PATH="/root/.rbenv/shims:/root/.rbenv/bin:$PATH" |
66 |
| -RUN yum -y install python3 python3-pip shadow-utils |
| 72 | +ENV PATH="~/.rbenv/shims:~/.rbenv/bin:$PATH" |
| 73 | +RUN echo 'export PATH="~/.rbenv/bin:$PATH"' >> ~/.bashrc && \ |
| 74 | + echo 'eval "$(rbenv init -)"' >> ~/.bashrc |
67 | 75 | RUN gem install bundler -v '~> 2.5'
|
68 |
| - |
69 |
| -RUN groupadd scalelite --gid 1000 && \ |
70 |
| - useradd -u 1000 -d /srv/scalelite -g scalelite scalelite |
71 |
| -RUN groupadd scalelite-spool --gid 2000 && \ |
72 |
| - usermod -a -G scalelite-spool scalelite |
73 | 76 | WORKDIR /srv/scalelite
|
74 | 77 |
|
75 | 78 | FROM base as builder
|
76 |
| -RUN rm -rf nginx |
77 |
| -USER scalelite:scalelite |
78 | 79 | COPY --chown=scalelite:scalelite Gemfile* ./
|
79 |
| -RUN bundle --version |
80 |
| -RUN bundle config build.nokogiri --use-system-libraries |
81 |
| -RUN bundle config set --local deployment 'true' |
82 |
| -RUN bundle config set --local without 'development:test' |
83 |
| -RUN bundle install -j4 |
84 |
| -RUN rm -rf vendor/bundle/ruby/*/cache |
85 |
| -RUN find vendor/bundle/ruby/*/gems/ \( -name '*.c' -o -name '*.o' \) -delete |
| 80 | +RUN source ~/.bashrc && bundle --version && \ |
| 81 | + bundle config build.nokogiri --use-system-libraries && \ |
| 82 | + bundle config set --local deployment 'true' && \ |
| 83 | + bundle config set --local without 'development:test' && \ |
| 84 | + bundle install -j4 && \ |
| 85 | + rm -rf vendor/bundle/ruby/*/cache && \ |
| 86 | + find vendor/bundle/ruby/*/gems/ \( -name '*.c' -o -name '*.o' \) -delete |
86 | 87 | COPY --chown=scalelite:scalelite . ./
|
87 | 88 |
|
88 | 89 | FROM base AS application
|
89 |
| -USER scalelite:scalelite |
90 | 90 | ENV RAILS_ENV=production RAILS_LOG_TO_STDOUT=true
|
91 | 91 | COPY --from=builder --chown=scalelite:scalelite /srv/scalelite ./
|
92 | 92 |
|
|
0 commit comments