db86263353
- switch to ubuntu base image - use rbenv to manage ruby - add gh to base image
72 lines
2.2 KiB
Text
72 lines
2.2 KiB
Text
|
|
ARG VARIANT=ubuntu-20.04
|
|
FROM mcr.microsoft.com/vscode/devcontainers/base:${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
|
|
|
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt-get -y install --no-install-recommends \
|
|
build-essential \
|
|
libssl-dev \
|
|
zlib1g-dev \
|
|
gnupg2 \
|
|
tar \
|
|
tzdata \
|
|
postgresql-client \
|
|
libpq-dev \
|
|
yarn \
|
|
git \
|
|
imagemagick \
|
|
tmux \
|
|
zsh \
|
|
git-flow \
|
|
npm
|
|
|
|
# Install rbenv and ruby
|
|
ARG RUBY_VERSION="3.0.4"
|
|
RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv \
|
|
&& echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc \
|
|
&& echo 'eval "$(rbenv init -)"' >> ~/.bashrc
|
|
ENV PATH "/root/.rbenv/bin/:/root/.rbenv/shims/:$PATH"
|
|
RUN git clone https://github.com/rbenv/ruby-build.git && \
|
|
PREFIX=/usr/local ./ruby-build/install.sh
|
|
|
|
RUN rbenv install $RUBY_VERSION && \
|
|
rbenv global $RUBY_VERSION && \
|
|
rbenv versions
|
|
|
|
# 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
|
|
|
|
|
|
# Install gh
|
|
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
|
|
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
|
|
&& sudo apt update \
|
|
&& sudo apt install gh
|
|
|
|
|
|
# Do the set up required for chatwoot app
|
|
WORKDIR /workspace
|
|
COPY . /workspace
|
|
|
|
# set up ruby
|
|
COPY Gemfile Gemfile.lock ./
|
|
RUN gem install bundler && bundle install
|
|
|
|
# set up node js
|
|
RUN npm install npm@latest -g && \
|
|
npm install n -g && \
|
|
n latest
|
|
RUN npm install --global yarn
|
|
RUN yarn
|