Files
redux-scraper/.devcontainer/Dockerfile.devcontainer
2025-07-21 21:19:28 +00:00

85 lines
3.0 KiB
Docker

# Primary image
FROM mcr.microsoft.com/devcontainers/ruby:1-3.2-bookworm
# apt caching & install packages
RUN rm -f /etc/apt/apt.conf.d/docker-clean; \
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
RUN \
--mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt-get update && \
apt-get install --no-install-recommends --no-install-suggests -y \
autoconf \
build-essential \
ca-certificates \
curl \
gnupg \
iputils-ping \
libblas-dev \
libdb-dev \
libffi-dev \
libgdbm-dev \
libgdbm6 \
libgmp-dev \
liblapack-dev \
libncurses5-dev \
libpq-dev \
libreadline6-dev \
libssl-dev \
libvips42 \
libyaml-dev \
patch \
uuid-dev \
zlib1g-dev \
watchman \
ffmpeg \
ffmpegthumbnailer \
abiword \
pdftohtml \
libreoffice
# Install postgres 15 client
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
sudo install -d /usr/share/postgresql-common/pgdg && \
curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc && \
sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' && \
apt update && \
apt-get install --no-install-recommends --no-install-suggests -y \
postgresql-client-15
# Install & configure delta diff tool
RUN wget -O- https://github.com/dandavison/delta/releases/download/0.18.2/git-delta_0.18.2_amd64.deb > /tmp/git-delta.deb && \
sudo dpkg -i /tmp/git-delta.deb && \
rm /tmp/git-delta.deb
RUN git config --system core.pager "delta" && \
git config --system interactive.diffFilter "delta --color-only" && \
git config --system delta.navigate "true" && \
git config --system delta.dark "true" && \
git config --system delta.side-by-side "true" && \
git config --system merge.conflictstyle "zdiff3" && \
git config --system core.editor "cursor --wait" && \
git config --system diff.algorithm "histogram" && \
git config --system diff.colorMoved "default"
ENV RAILS_ENV development
# [Optional] Uncomment this line to install additional gems.
RUN su vscode -c "gem install bundler -v '2.5.6'" && \
su vscode -c "gem install rake -v '13.0.6'" && \
su vscode -c "gem install ruby-lsp -v '0.22.1'"
# install exo
RUN su vscode -c "curl -sL https://exo.deref.io/install | bash"
ENV PATH "/home/vscode/.exo/bin:$PATH"
# install just (command runner)
RUN curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install 18 && nvm use 18 && npm install -g yarn" 2>&1
ENV PATH /usr/local/share/nvm/current/bin:$PATH
# install `backlog` tool
RUN su vscode -c "npm i -g backlog.md"