46 lines
1.3 KiB
Text
46 lines
1.3 KiB
Text
|
# pre-build stage
|
||
|
ARG VARIANT=2.7
|
||
|
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
|
||
|
|
||
|
# Update args in docker-compose.yaml to set the UID/GID of the "vscode" user.
|
||
|
ARG USER_UID=1000
|
||
|
ARG USER_GID=$USER_UID
|
||
|
RUN if [ "$USER_GID" != "1000" ] || [ "$USER_UID" != "1000" ]; then \
|
||
|
groupmod --gid $USER_GID vscode \
|
||
|
&& usermod --uid $USER_UID --gid $USER_GID vscode \
|
||
|
&& chmod -R $USER_UID:$USER_GID /home/vscode; \
|
||
|
fi
|
||
|
|
||
|
# [Option] Install Node.js
|
||
|
ARG INSTALL_NODE="true"
|
||
|
ARG NODE_VERSION="lts/*"
|
||
|
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||
|
|
||
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||
|
&& apt-get -y install --no-install-recommends \
|
||
|
libssl-dev \
|
||
|
tar \
|
||
|
tzdata \
|
||
|
postgresql-client \
|
||
|
yarn \
|
||
|
git \
|
||
|
imagemagick \
|
||
|
tmux \
|
||
|
zsh
|
||
|
|
||
|
|
||
|
# Install overmind
|
||
|
RUN curl -L https://github.com/DarthSim/overmind/releases/download/v2.1.0/overmind-v2.1.0-linux-amd64.gz > overmind.gz \
|
||
|
&& gunzip overmind.gz \
|
||
|
&& sudo mv overmind /usr/local/bin \
|
||
|
&& chmod +x /usr/local/bin/overmind
|
||
|
|
||
|
# Do the set up required for chatwoot app
|
||
|
WORKDIR /workspace
|
||
|
COPY . /workspace
|
||
|
RUN yarn
|
||
|
|
||
|
COPY Gemfile Gemfile.lock ./
|
||
|
RUN gem install bundler && bundle install
|
||
|
|