Files
mbid-poller/Dockerfile
2025-09-26 10:57:00 +00:00

43 lines
1.1 KiB
Docker

# Use a minimal base image with Perl
FROM alpine:latest
# Set a working directory
WORKDIR /app
# Install system dependencies and Perl
RUN apk update && \
apk add --no-cache \
perl \
perl-app-cpanminus \
perl-lwp-useragent-determined \
perl-io-socket-ssl \
perl-net-ssleay \
perl-lwp-protocol-https \
make \
gcc \
musl-dev \
curl && \
\
# Install required Perl modules via CPAN
cpanm --notest \
JSON::Tiny \
LWP::UserAgent \
LWP::Protocol::https \
Time::Duration \
URI::Escape \
Getopt::Std && \
\
# Clean up build dependencies and cache
apk del make gcc musl-dev && \
rm -rf /var/cache/apk/* /root/.cpanm
# Copy the Perl script into the container
COPY poller.pl /app/poller.pl
# Fix line endings and make the script executable
RUN sed -i 's/\r$//' /app/poller.pl && \
chmod +x /app/poller.pl
# Define the default command
# Using perl explicitly and forcing unbuffered output
CMD ["perl", "-u", "/app/poller.pl"]