Merge branch 'develop' into feat/docker-multiarch
This commit is contained in:
commit
f44e9469e8
4 changed files with 48 additions and 15 deletions
|
@ -5,4 +5,4 @@ FROM ghcr.io/chatwoot/chatwoot_codespace:latest
|
||||||
# Do the set up required for chatwoot app
|
# Do the set up required for chatwoot app
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
COPY . /workspace
|
COPY . /workspace
|
||||||
RUN yarn && gem install bundler && bundle install
|
RUN yarn && gem install bundler && bundle install
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# pre-build stage
|
|
||||||
ARG VARIANT=3
|
ARG VARIANT=ubuntu-20.04
|
||||||
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
|
FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT}
|
||||||
|
|
||||||
# Update args in docker-compose.yaml to set the UID/GID of the "vscode" user.
|
# Update args in docker-compose.yaml to set the UID/GID of the "vscode" user.
|
||||||
ARG USER_UID=1000
|
ARG USER_UID=1000
|
||||||
|
@ -11,23 +11,36 @@ RUN if [ "$USER_GID" != "1000" ] || [ "$USER_UID" != "1000" ]; then \
|
||||||
&& chmod -R $USER_UID:$USER_GID /home/vscode; \
|
&& chmod -R $USER_UID:$USER_GID /home/vscode; \
|
||||||
fi
|
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 \
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||||
&& apt-get -y install --no-install-recommends \
|
&& apt-get -y install --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
gnupg2 \
|
||||||
tar \
|
tar \
|
||||||
tzdata \
|
tzdata \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
|
libpq-dev \
|
||||||
yarn \
|
yarn \
|
||||||
git \
|
git \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
tmux \
|
tmux \
|
||||||
zsh
|
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
|
# Install overmind
|
||||||
RUN curl -L https://github.com/DarthSim/overmind/releases/download/v2.1.0/overmind-v2.1.0-linux-amd64.gz > overmind.gz \
|
RUN curl -L https://github.com/DarthSim/overmind/releases/download/v2.1.0/overmind-v2.1.0-linux-amd64.gz > overmind.gz \
|
||||||
|
@ -35,11 +48,25 @@ RUN curl -L https://github.com/DarthSim/overmind/releases/download/v2.1.0/overmi
|
||||||
&& sudo mv overmind /usr/local/bin \
|
&& sudo mv overmind /usr/local/bin \
|
||||||
&& chmod +x /usr/local/bin/overmind
|
&& 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
|
# Do the set up required for chatwoot app
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
COPY . /workspace
|
COPY . /workspace
|
||||||
RUN yarn
|
|
||||||
|
|
||||||
|
# set up ruby
|
||||||
COPY Gemfile Gemfile.lock ./
|
COPY Gemfile Gemfile.lock ./
|
||||||
RUN gem install bundler && bundle install
|
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
|
||||||
|
|
|
@ -23,17 +23,18 @@
|
||||||
// 5432 postgres
|
// 5432 postgres
|
||||||
// 6379 redis
|
// 6379 redis
|
||||||
// 1025,8025 mailhog
|
// 1025,8025 mailhog
|
||||||
"forwardPorts": [8025],
|
"forwardPorts": [8025, 3000, 3035],
|
||||||
//your application may need to listen on all interfaces (0.0.0.0) not just localhost for it to be available externally. Defaults to []
|
|
||||||
"appPort": [3000, 3035],
|
|
||||||
|
|
||||||
"postCreateCommand": ".devcontainer/scripts/setup.sh && bundle exec rake db:chatwoot_prepare && yarn",
|
"postCreateCommand": ".devcontainer/scripts/setup.sh && bundle exec rake db:chatwoot_prepare && yarn",
|
||||||
"portsAttributes": {
|
"portsAttributes": {
|
||||||
"3000": {
|
"3000": {
|
||||||
"label": "Rails Server"
|
"label": "Rails Server"
|
||||||
},
|
},
|
||||||
|
"3035": {
|
||||||
|
"label": "Webpack Dev Server"
|
||||||
|
},
|
||||||
"8025": {
|
"8025": {
|
||||||
"label": "Mailhog UI"
|
"label": "Mailhog UI"
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,3 +6,8 @@ sed -i -e "/FRONTEND_URL/ s/=.*/=https:\/\/$CODESPACE_NAME-3000.githubpreview.de
|
||||||
sed -i -e "/WEBPACKER_DEV_SERVER_PUBLIC/ s/=.*/=https:\/\/$CODESPACE_NAME-3035.githubpreview.dev/" .env
|
sed -i -e "/WEBPACKER_DEV_SERVER_PUBLIC/ s/=.*/=https:\/\/$CODESPACE_NAME-3035.githubpreview.dev/" .env
|
||||||
# uncomment the webpacker env variable
|
# uncomment the webpacker env variable
|
||||||
sed -i -e '/WEBPACKER_DEV_SERVER_PUBLIC/s/^# //' .env
|
sed -i -e '/WEBPACKER_DEV_SERVER_PUBLIC/s/^# //' .env
|
||||||
|
# fix the error with webpacker
|
||||||
|
echo 'export NODE_OPTIONS=--openssl-legacy-provider' >> ~/.bashrc
|
||||||
|
|
||||||
|
# codespaces make the ports public
|
||||||
|
gh codespace ports visibility 3000:public 3035:public 8025:public -c $CODESPACE_NAME
|
||||||
|
|
Loading…
Reference in a new issue