webgui/deploy/webgui-deps/Containerfile
Arjan Widlak 9fdb1bfc25 distribution -> deploy (git mv, history kept)
> distributino/docker-compose.yml -> compose.yml in the root, paths in file updated
> Dockerfile -> deploy/webgui/Containerfile
> deploy/webgui/Containerfile now with FROM localhost/webgui-deps
> New: deploy/webgui-deps/Containerfile with all cpan modules (and apt block that was above it)
all modules their own RUN cpanm --notest line
ENV PERL_CPANM_OPT to use cpan-mirror
README.md, CONTEXT.md and .dockerignore updated
--no-cache --force -> --notest (so i can test)
2026-06-30 20:00:40 +00:00

177 lines
5.5 KiB
Docker

# Podman Containerfile for webgui-deps
# System packages and Perl modules for WebGUI, added one at a time so each
# can be audited for compile/test failures with its own podman layer.
# build via: podman build -t webgui-deps -f deploy/webgui-deps/Containerfile .
FROM debian:trixie
ENV DEBIAN_FRONTEND="noninteractive"
RUN apt update && apt -y install \
perl \
cpanminus \
libaspell-dev \
make \
libdbd-mysql-perl \
libdigest-perl-md5-perl \
libxml-simple-perl \
libmodule-install-perl \
gcc \
libperl-dev \
default-libmysqlclient-dev \
libpng-dev \
build-essential \
libgd-dev \
mariadb-client \
imagemagick \
libjpeg-dev \
libtiff-dev \
libapache2-mod-perl2 \
libapache2-mod-perl2-dev \
libapache2-request-perl \
libimage-magick-perl \
vim \
apache2 \
apache2-utils \
mailutils \
# could be removed for production:
curl \
procps
ENV PERL_CPANM_OPT="--mirror file:///cpan-mirror \
--mirror https://www.cpan.org"
RUN cpanm --notest Algorithm::Permute
RUN cpanm --notest App::Cmd
RUN cpanm --notest Archive::Any
RUN cpanm --notest Archive::Tar
RUN cpanm --notest Archive::Zip
RUN cpanm --notest Business::OnlinePayment
RUN cpanm --notest Business::OnlinePayment::AuthorizeNet
RUN cpanm --notest Business::PayPal::API
RUN cpanm --notest Business::Tax::VAT::Validation
RUN cpanm --notest CHI
RUN cpanm --notest CSS::Minifier::XS
RUN cpanm --notest CSS::Packer
RUN cpanm --notest Cache::FastMmap
RUN cpanm --notest Capture::Tiny
RUN cpanm --notest Class::C3
RUN cpanm --notest Class::InsideOut
RUN cpanm --notest Clone
RUN cpanm --notest Color::Calc
RUN cpanm --notest Compress::Zlib
RUN cpanm --notest Config::JSON
RUN cpanm --notest DBI
RUN cpanm --notest Data::ICal
RUN cpanm --notest DateTime
RUN cpanm --notest DateTime::Event::ICal
RUN cpanm --notest DateTime::Format::HTTP
RUN cpanm --notest DateTime::Format::Mail
RUN cpanm --notest DateTime::Format::Strptime
RUN cpanm --notest DBD::mysql@4.051
RUN cpanm --notest Devel::StackTrace
RUN cpanm --notest Devel::StackTrace::WithLexicals
RUN cpanm --notest Digest::MD5
RUN cpanm --notest Digest::SHA
RUN cpanm --notest Email::Valid
RUN cpanm --notest Exception::Class
RUN cpanm --notest Facebook::Graph
RUN cpanm --notest File::Path
RUN cpanm --notest Finance::Quote
RUN cpanm --notest GD
RUN cpanm --notest GD::Graph
RUN cpanm --notest Geo::Coder::Googlev3
RUN cpanm --notest HTML::Form
RUN cpanm --notest HTML::Highlight
RUN cpanm --notest HTML::Packer
RUN cpanm --notest HTML::Parser
RUN cpanm --notest HTML::TagCloud
RUN cpanm --notest HTML::TagFilter
RUN cpanm --notest HTML::Template
RUN cpanm --notest HTML::Template::Expr
RUN cpanm --notest HTTP::BrowserDetect
RUN cpanm --notest HTTP::Exception
RUN cpanm --notest HTTP::Headers
RUN cpanm --notest HTTP::Request
RUN cpanm --notest IO::File::WithPath
RUN cpanm --notest IO::Interactive::Tiny
RUN cpanm --notest IO::Socket::SSL
RUN cpanm --notest IO::Zlib
RUN cpanm --notest Image::ExifTool
RUN cpanm --notest Imager
RUN cpanm --notest Imager::File::PNG
RUN cpanm --notest JSON
RUN cpanm --notest JSON::Any
RUN cpanm --notest JSON::PP
RUN cpanm --notest JavaScript::Minifier::XS
RUN cpanm --notest JavaScript::Packer
RUN cpanm --notest Kwargs
RUN cpanm --notest LWP
RUN cpanm --notest LWP::Protocol::https
RUN cpanm --notest List::MoreUtils
RUN cpanm --notest Locales
RUN cpanm --notest Log::Log4perl
RUN cpanm --notest Mail::DeliveryStatus::BounceParser
RUN cpanm --notest MIME::Tools
RUN cpanm --notest Module::Find
RUN cpanm --notest Monkey::Patch
RUN cpanm --notest Moose
RUN cpanm --notest MooseX::NonMoose
RUN cpanm --notest MooseX::Storage
RUN cpanm --notest MooseX::Storage::Format::JSON
RUN cpanm --notest Net::CIDR::Lite
RUN cpanm --notest Net::DNS
RUN cpanm --notest Net::LDAP
RUN cpanm --notest Net::POP3
RUN cpanm --notest Net::SMTP
RUN cpanm --notest Net::Twitter
RUN cpanm --notest Number::Format
RUN cpanm --notest POE
RUN cpanm --notest POE::Component::Client::HTTP
RUN cpanm --notest POE::Component::IKC::Server
RUN cpanm --notest POE::Component::IKC
RUN cpanm --notest Package::Stash
RUN cpanm --notest Params::Validate
RUN cpanm --notest Path::Class
RUN cpanm --notest PerlIO::eol
RUN cpanm --notest Plack
RUN cpanm --notest Plack::Middleware::Debug
RUN cpanm --notest Plack::Middleware::Status
RUN cpanm --notest Plack::Request
RUN cpanm --notest Plack::Response
RUN cpanm --notest Pod::Coverage
RUN cpanm --notest Readonly
RUN cpanm --notest Scope::Guard
RUN cpanm --notest Search::QueryParser
RUN cpanm --notest Storable
RUN cpanm --notest Template
RUN cpanm --notest Test::Class
RUN cpanm --notest Test::Deep
RUN cpanm --notest Test::Differences
RUN cpanm --notest Test::Exception
RUN cpanm --notest Test::Harness
RUN cpanm --notest Test::Log::Dispatch
RUN cpanm --notest Test::LongString
RUN cpanm --notest Test::MockObject
RUN cpanm --notest Test::MockTime
RUN cpanm --notest Test::More
RUN cpanm --notest Test::Tester
RUN cpanm --notest Test::WWW::Mechanize::PSGI
RUN cpanm --notest Text::Aspell
RUN cpanm --notest Text::Balanced
RUN cpanm --notest Text::CSV_XS
RUN cpanm --notest Tie::CPHash
RUN cpanm --notest Tie::IxHash
RUN cpanm --notest Time::HiRes
RUN cpanm --notest Try::Tiny
RUN cpanm --notest URI::Escape
RUN cpanm --notest UUID::Tiny
RUN cpanm --notest Weather::Com::Finder
RUN cpanm --notest XML::FeedPP
RUN cpanm --notest XML::FeedPP::MediaRSS
RUN cpanm --notest XML::Simple
RUN cpanm --notest common::sense
RUN cpanm --notest namespace::autoclean
RUN apt -y remove libjson-xs-perl
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*