Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,13 @@ RUN cpanm install -n \
Net::SAML2 \
&& rm -fr ./cpanm /root/.cpanm /tmp/*

# DateTime::TimeZone - Ubuntu 24.04 ships 2.62 (Olson 2024a) and never updates it, and DateTime
# uses its own compiled zone data rather than /usr/share/zoneinfo. 2.68+ has BC's move to permanent
# UTC-7 (no fall back on 2026-11-01). The check fails the build if America/Vancouver would still
# fall back to UTC-8 in December 2026.
RUN cpanm install -n DateTime::TimeZone@2.71 && rm -fr ./cpanm /root/.cpanm /tmp/* \
&& perl -MDateTime -e 'exit(DateTime->from_epoch(epoch => 1796126400, time_zone => "America/Vancouver")->offset == -7 * 3600 ? 0 : 1)'

# ==================================================================
# Phase 5 - Install webwork2 and pg which were downloaded to /opt/base/ in phase 1
# Option: Install the OPL in the image also (about 850 MB)
Expand Down
7 changes: 7 additions & 0 deletions Dockerfile-prod
Original file line number Diff line number Diff line change
Expand Up @@ -87,15 +87,15 @@
PG_ROOT=$APP_ROOT/pg \
PATH=$PATH:$APP_ROOT/webwork2/bin

ENV WEBWORK_DB_HOST db

Check warning on line 90 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV WEBWORK_DB_PORT 3306

Check warning on line 91 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV WEBWORK_DB_NAME webwork

Check warning on line 92 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV WEBWORK_DB_USER webworkWrite

Check warning on line 93 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV WEBWORK_DB_PASSWORD passwordRW

Check warning on line 94 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "WEBWORK_DB_PASSWORD") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 94 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV WEBWORK_SMTP_SERVER localhost

Check warning on line 95 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV WEBWORK_SMTP_SENDER webwork@example.com

Check warning on line 96 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV R_HOST r

Check warning on line 97 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV DEBUG 0

Check warning on line 98 in Dockerfile-prod

View workflow job for this annotation

GitHub Actions / build

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

# ==================================================================
# Phase 3 - Install required packages
Expand Down Expand Up @@ -248,6 +248,13 @@
Net::SAML2 \
&& rm -fr ./cpanm /root/.cpanm /tmp/*

# DateTime::TimeZone - Ubuntu 24.04 ships 2.62 (Olson 2024a) and never updates it, and DateTime
# uses its own compiled zone data rather than /usr/share/zoneinfo. 2.68+ has BC's move to permanent
# UTC-7 (no fall back on 2026-11-01). The check fails the build if America/Vancouver would still
# fall back to UTC-8 in December 2026.
RUN cpanm install -n DateTime::TimeZone@2.71 && rm -fr ./cpanm /root/.cpanm /tmp/* \
&& perl -MDateTime -e 'exit(DateTime->from_epoch(epoch => 1796126400, time_zone => "America/Vancouver")->offset == -7 * 3600 ? 0 : 1)'

# App::Genpass - used by LTI1p3's CourseUpdater
# Data::ObjectDriver - used by DelayedJob
# Bytes::Random::Secure::Tiny - used by LTI1p3 for secure random string
Expand Down
Loading