Skip to content

Instantly share code, notes, and snippets.

@brianjbayer
Created October 19, 2022 14:24
Show Gist options
  • Save brianjbayer/8d269389e961ca0ead4b783a170ba173 to your computer and use it in GitHub Desktop.
Save brianjbayer/8d269389e961ca0ead4b783a170ba173 to your computer and use it in GitHub Desktop.
Containerized Ruby on Rails 7 Bootstrap/Development Environment
# Dockerfile for a containerized development environment
# for the railstutorial.org Rails tutorial
# ASSUMPTION: source is volume mounted
# docker build --no-cache -t railsgen .
# docker run -it --rm -v $(pwd):/app -p 3000:3000 railsgen
# bundle exec bin/rails server -p 3000 -b 0.0.0.0
FROM ruby:3.1.2-slim-bullseye
ARG BUNDLER_VER=2.3.14
ARG RAILS_VER=7.0.4
# Install Build Packages, Bundler, and rails
ARG BUILD_PACKAGES='build-essential libpq-dev libsqlite3-dev'
RUN apt-get update \
&& apt-get -y dist-upgrade \
&& apt-get -y install ${BUILD_PACKAGES} \
&& rm -rf /var/lib/apt/lists/* \
# install bundler and rails versions
&& gem install bundler:$BUNDLER_VER rails:$RAILS_VER
# --- Dev Environment ---
WORKDIR /app
# Add git, vim, and curl at least
ARG DEVENV_PACKAGES='git vim curl'
RUN apt-get update \
&& apt-get dist-upgrade \
&& apt-get install -y ${DEVENV_PACKAGES} \
&& rm -rf /var/lib/apt/lists/*
# Start devenv in (command line) shell
CMD bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment