ARG ZAMMAD_VERSION=6.4.1 FROM node:22-slim AS node FROM zammad/zammad-docker-compose:${ZAMMAD_VERSION} AS builder USER root COPY --from=node /opt /opt COPY --from=node /usr/local/bin /usr/local/bin COPY --from=node /usr/local/lib /usr/local/lib COPY --from=node /usr/lib /usr/lib SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"] RUN npm install -g pnpm RUN pnpm --version WORKDIR ${ZAMMAD_DIR} RUN mkdir -p /opt/zammad/contrib/link/addons COPY addons contrib/link/addons COPY setup.rb contrib/link/setup.rb COPY install.rb contrib/link/install.rb RUN sed -i '/script\/build\/cleanup\.sh/d' contrib/docker/setup.sh RUN sed -i '/touch db\/schema.rb/a ZAMMAD_SAFE_MODE=1 DATABASE_URL=postgresql:\/\/zammad:\/zammad bundle exec rails runner \/opt\/zammad\/contrib\/link\/install.rb' contrib/docker/setup.sh RUN cat contrib/docker/setup.sh RUN contrib/docker/setup.sh builder ARG EMBEDDED=false ARG LINK_HOST=http://link:3000 RUN if [ "$EMBEDDED" = "true" ] ; then sed -i "/location \/ {/i\ location /link {\n\ proxy_pass ${LINK_HOST};\n\ proxy_set_header Host \$host;\n\ proxy_set_header X-Real-IP \$remote_addr;\n\ proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;\n\ proxy_set_header X-Forwarded-Proto https;\n\ }\n\ " ${ZAMMAD_DIR}/contrib/nginx/zammad.conf; fi RUN sed -i '/^[[:space:]]*# es config/a\ echo "about to reinstall..."\n\ bundle exec rails runner /opt/zammad/contrib/link/setup.rb\n\ bundle exec rake zammad:package:migrate\n\ ' /docker-entrypoint.sh FROM zammad/zammad-docker-compose:${ZAMMAD_VERSION} AS runner USER zammad COPY --from=builder --chown=zammad:zammad ${ZAMMAD_DIR} ${ZAMMAD_DIR} COPY --from=builder /usr/local/bundle /usr/local/bundle COPY --from=builder /docker-entrypoint.sh /docker-entrypoint.sh