# 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/*