Some checks failed
continuous-integration/drone/push Build is failing
Logo and login bg fixes.
64 lines
2.5 KiB
Docker
64 lines
2.5 KiB
Docker
FROM redmine:5-bullseye
|
|
|
|
COPY plugins/ plugins/
|
|
COPY patches/* ./
|
|
COPY pre-entrypoint.sh /
|
|
|
|
ENV REDMINE_SEND_REMINDERS_DAYS=0 \
|
|
REDMINE_SEND_REMINDERS_CRON_EXPR="0 7 * * 1-5"
|
|
|
|
RUN set -eux; \
|
|
apt-get update; \
|
|
apt-get install -y --no-install-recommends cron nodejs; \
|
|
savedAptMark="$(apt-mark showmanual)"; \
|
|
apt-get install -y --no-install-recommends gcc make; \
|
|
# Compile FFI module
|
|
chmod 770 /usr/local/bundle/gems /usr/local/bundle/extensions/x86_64-linux /usr/local/bundle/extensions/x86_64-linux/3.1.0; \
|
|
# Remove default cron mess
|
|
rm -f /etc/cron.daily/*; \
|
|
rm -f /etc/cron.d/*; \
|
|
# Apply patches
|
|
git apply project_identifier.patch; \
|
|
git apply uxupgrade_cleanstartup.patch; \
|
|
git apply uxupgrade_logo.patch; \
|
|
git apply workload_sql.patch; \
|
|
git apply workload_style.patch; \
|
|
git apply workload_module.patch; \
|
|
mv plugins/redmine_workload/lib/redmine_workload/hooks/plugin.rb plugins/redmine_workload/lib/redmine_workload/hooks/after_plugins_loaded_hook.rb; \
|
|
rm *.patch; \
|
|
# Install plugin dependencies
|
|
bundle check || bundle install; \
|
|
# For hourglass plugin
|
|
# fill up "database.yml" with bogus entries so the plugin can compile it assets
|
|
echo "production:" >> ./config/database.yml; \
|
|
echo " adapter: mysql2" >> ./config/database.yml; \
|
|
mv plugins/000_redmine_x_ux_upgrade/init.rb plugins/000_redmine_x_ux_upgrade/init.rb.orig; \
|
|
# WARNING: the next command makes the image larger by almost 100 MB
|
|
echo Hourglass::Assets.compile|rails console; \
|
|
rm ./config/database.yml; \
|
|
mv plugins/000_redmine_x_ux_upgrade/init.rb.orig plugins/000_redmine_x_ux_upgrade/init.rb; \
|
|
# end hourglass plugin
|
|
chmod +x /pre-entrypoint.sh; \
|
|
# setting ENTRYPOINT destroys CMD so replace the entrypoint script and call it later
|
|
# (see bottom note in https://docs.docker.com/engine/reference/builder/#entrypoint)
|
|
mv /docker-entrypoint.sh /orig-entrypoint.sh; \
|
|
mv /pre-entrypoint.sh /docker-entrypoint.sh; \
|
|
# Copy themes
|
|
cp -r plugins/000_redmine_x_ux_upgrade/assets/themes/redminex_theme public/themes/; \
|
|
chown -R 999:999 public/themes/redminex_theme; \
|
|
# Clean-up
|
|
apt-mark auto '.*' > /dev/null; \
|
|
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
|
|
find /usr/local -type f -executable -exec ldd '{}' ';' \
|
|
| awk '/=>/ { print $(NF-1) }' \
|
|
| sort -u \
|
|
| grep -v '^/usr/local/' \
|
|
| xargs -r dpkg-query --search \
|
|
| cut -d: -f1 \
|
|
| sort -u \
|
|
| xargs -r apt-mark manual \
|
|
; \
|
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
|
apt-get clean; \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ~/.cache;
|