ARG NAME=app ARG UID=1000 ARG GID=1000 ARG APP_PORT=3000 ARG INSTALL_DIR=/${NAME} ARG RUBY_VERSION=3.2.5 FROM ruby:${RUBY_VERSION} AS development ARG NAME ARG UID ARG GID ARG APP_PORT ARG INSTALL_DIR LABEL maintainer='david@hohl.cloud' WORKDIR ${INSTALL_DIR} ENV GEM_HOME=${INSTALL_DIR}/.bundle ENV \ LANG=C.UTF-8 \ INSTALL_DIR=${INSTALL_DIR} \ RAILS_ENV=development \ TZ=Europe/Zurich \ PATH=${INSTALL_DIR}/bin:$GEM_HOME/bin:$GEM_HOME/gems/bin:$PATH \ EDITOR=vim \ RUBY_DEBUG_DAP_SHOW_PROTOCOL=1 \ RUBY_DEBUG_OPEN=true RUN \ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \ echo $TZ > /etc/timezone && \ addgroup --gid ${GID} ${NAME} && \ adduser \ --gecos GECOS \ --home /home/${NAME} \ --uid ${UID} \ --gid ${GID} \ --disabled-password \ --disabled-login \ --shell /bin/bash \ ${NAME} && \ apt-get update && \ apt-get install -yqq --no-install-recommends \ gnupg2 \ curl && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt-get update -yqq && \ apt-get install -yqq --no-install-recommends \ sqlite3 nodejs npm sassc yarn libvips fish ranger pandoc libjemalloc2 && \ apt-get clean && \ npm i -g tabby-agent \ vscode-langservers-extracted \ dockerfile-language-server-nodejs \ @microsoft/compose-language-service \ yaml-language-server@next && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ truncate -s 0 /var/log/*log && \ gem update --system && \ bundle config set app_config ${GEM_HOME} ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 ARG HELIX_VERSION=24.07 RUN curl -L https://github.com/helix-editor/helix/releases/download/${HELIX_VERSION}/helix-${HELIX_VERSION}-x86_64-linux.tar.xz -o /tmp/helix.tar.xz && \ cd /opt/ && \ tar -xf /tmp/helix.tar.xz && \ ln -s /opt/helix-${HELIX_VERSION}-x86_64-linux/hx /usr/local/bin chmod +x /usr/local/bin/ RUN mkdir -p ~/.config/fish ~/.config/helix COPY <> .build_version USER ${NAME} ENTRYPOINT [ "bin/entrypoint" ] CMD [ "rails", "server", "--binding", "0.0.0.0", "--no-daemon", "--port" , "3000" ]