FROM alpine:latest

ARG uid=1000
ARG gid=1000

RUN addgroup -g $gid idalius
RUN adduser -u $uid -D -G idalius idalius

# Intermediate tools used to build perl modules not provided as apk
RUN apk add perl perl-dev perl-app-cpanminus make gcc libgcc wget musl-dev openssl openssl-dev zlib-dev

# Perl modules used by idalius
RUN apk add perl-config-tiny perl-html-parser perl-datetime perl-io-socket-ssl

# Build and install POE and POE::Component::IRC modules
RUN cpanm install POE POE::Component::IRC
RUN cpanm install -n POE::Component::SSLify

# Remove non-runtime deps
RUN apk del perl-dev perl-app-cpanminus make gcc libgcc wget musl-dev

# Remove unneeded caches etc
RUN rm -rf /root/.cpanm /var/cache/apk/*

USER idalius

# Expect idalius volume mounted to /idalius
WORKDIR /idalius
ENV PERL5LIB /idalius
CMD perl ./idalius.pl