- libs/ruby/warp_engine: gemspec, WarpEngine::Engine (isolate_namespace with empty table_name_prefix), WarpEngine.configure surface (container paths, update_secret, image_owners), empty engine routes - host Gemfile: path gem; host routes: mount WarpEngine::Engine => "/" as the last entry so host routes always win - docker: api build context moved to repo root so libs/ is visible at bundle-install time; ./libs:/libs runtime mount; root .dockerignore to keep data/ and node_modules out of the build context Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
28 lines
589 B
Docker
28 lines
589 B
Docker
FROM --platform=linux/amd64 ruby:3.3-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
default-libmysqlclient-dev \
|
|
git \
|
|
tzdata \
|
|
unzip \
|
|
nodejs \
|
|
libffi-dev \
|
|
libyaml-dev \
|
|
pkg-config \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# A path gemek /libs alá kerülnek, ugyanoda, ahova a compose mountolja őket,
|
|
# így a Gemfile "../../libs/..." relatív útvonala build- és futásidőben is stimmel.
|
|
COPY libs /libs
|
|
COPY apps/api/Gemfile ./
|
|
RUN bundle install
|
|
|
|
COPY apps/api .
|
|
|
|
EXPOSE 3000
|
|
|
|
CMD ["/bin/sh", "entrypoint.sh"]
|