hackatime/Dockerfile.dev
Mahad Kalam e3456be187
goaaaal! (#985)
* Add goals

* Fix up some migrations

* Formatting

* Simplify migration

* Update test/controllers/settings_goals_controller_test.rb

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update test/controllers/settings_goals_controller_test.rb

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Fix svelte-check issues, make CI less janky on dev

* svelte-check/fix tests

* Fix N+1s

* Formatting!

* More tests, fix anonymization and N+1

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-19 18:47:01 +00:00

50 lines
1.3 KiB
Text

FROM ruby:3.4.8
# Install system dependencies including Node.js
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y \
build-essential \
git \
libpq-dev \
libyaml-dev \
postgresql-client \
libvips \
pkg-config \
curl \
vim \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives
# Install Bun
RUN curl -fsSL https://bun.sh/install | bash && \
mv ~/.bun/bin/bun /usr/local/bin/
# Set working directory
WORKDIR /app
# Install npm dependencies for Vite
COPY package.json bun.lock ./
# Local file deps in package.json need to exist before bun install.
COPY vendor/inertia/packages/core/package.json ./vendor/inertia/packages/core/package.json
COPY vendor/inertia/packages/svelte/package.json ./vendor/inertia/packages/svelte/package.json
RUN bun install
# Install application dependencies
COPY Gemfile Gemfile.lock ./
RUN bundle install
# Add a script to be executed every time the container starts
COPY entrypoint.dev.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.dev.sh
ENTRYPOINT ["entrypoint.dev.sh"]
# Global git safeguards
RUN git config --system http.timeout 30 && \
git config --system http.lowSpeedLimit 1000 && \
git config --system http.lowSpeedTime 10
EXPOSE 3000
EXPOSE 3036
# Start the main process
CMD ["rails", "server", "-b", "0.0.0.0"]