Initial commit
This commit is contained in:
62
Dockerfile
Normal file
62
Dockerfile
Normal file
@@ -0,0 +1,62 @@
|
||||
FROM almalinux:9
|
||||
|
||||
RUN yum -y install dnf-plugins-core && \
|
||||
dnf config-manager --set-enabled crb
|
||||
|
||||
# Install build tools and dependencies for RVM / Ruby
|
||||
RUN yum -y update && \
|
||||
yum -y --allowerasing install \
|
||||
curl git gnupg2 \
|
||||
gcc gcc-c++ patch \
|
||||
readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel ruby ruby-devel which procps-ng && \
|
||||
yum clean all
|
||||
|
||||
# Install RVM and Ruby 3.3.0
|
||||
RUN gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys \
|
||||
409B6B1796C275462A1703113804BB82D39DC0E3 \
|
||||
7D2BAF1CF37B13E2069D6956105BD0E739499BDB && \
|
||||
curl -sSL https://get.rvm.io | bash -s stable --ruby=3.3.0 && \
|
||||
echo 'source /etc/profile.d/rvm.sh' >> /etc/profile && \
|
||||
/bin/bash -lc "source /etc/profile.d/rvm.sh && gem install bundler"
|
||||
|
||||
# Make RVM binaries available
|
||||
ENV PATH="/usr/local/rvm/bin:${PATH}"
|
||||
|
||||
# Set Ruby 3.3.0 as the default version
|
||||
RUN /bin/bash -lc "source /etc/profile.d/rvm.sh && rvm use 3.3.0 --default"
|
||||
|
||||
# Create application user
|
||||
RUN useradd -m certuser
|
||||
|
||||
# Create project directory and set working directory
|
||||
WORKDIR /opt/cert/certcenter
|
||||
|
||||
# Copy only the specified directories and files
|
||||
COPY ca ./ca/
|
||||
COPY classes ./classes/
|
||||
COPY db ./db/
|
||||
COPY docs ./docs/
|
||||
COPY locale ./locale/
|
||||
COPY logs ./logs/
|
||||
COPY locks ./locks/
|
||||
COPY migration ./migration/
|
||||
COPY models ./models/
|
||||
COPY public ./public/
|
||||
COPY utils ./utils/
|
||||
COPY views ./views/
|
||||
COPY .bundle ./.bundle/
|
||||
COPY app.rb Gemfile Gemfile.lock ./
|
||||
|
||||
# Make the CA directory a bind mount point
|
||||
VOLUME /opt/cert/certcenter/ca
|
||||
VOLUME /opt/cert/certcenter/logs
|
||||
|
||||
# Prepare the application
|
||||
RUN /bin/bash -lc "source /etc/profile.d/rvm.sh && chmod +x ./utils/make_app_keys.sh" && \
|
||||
/bin/bash -lc "source /etc/profile.d/rvm.sh && ./utils/make_app_keys.sh ." && \
|
||||
/bin/bash -lc "source /etc/profile.d/rvm.sh && bundle install" && \
|
||||
/bin/bash -lc "source /etc/profile.d/rvm.sh && bundle exec sequel -m migration sqlite://db/base.sqlite"
|
||||
|
||||
EXPOSE 4567
|
||||
|
||||
CMD ["bash", "-lc", "source /etc/profile.d/rvm.sh && bundle exec ruby app.rb"]
|
||||
Reference in New Issue
Block a user