summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile54
1 files changed, 46 insertions, 8 deletions
diff --git a/Dockerfile b/Dockerfile
index 3196ad0..316d274 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,22 +1,60 @@
-FROM debian:stretch-slim
+FROM debian:buster-slim as files
+
+ARG travelynx_version=git
+
+COPY docker-run.sh /app/
+COPY index.pl /app/
+COPY lib/ /app/lib/
+COPY public/ /app/public/
+COPY templates/ /app/templates/
+COPY share/ /app/share/
+
+WORKDIR /app
+
+RUN ln -sf ../local/imprint.html.ep templates && \
+ ln -sf ../local/privacy.html.ep templates && \
+ ln -sf ../local/travelynx.conf
+
+RUN sed -i "s/qx{git describe --dirty}/'${travelynx_version}'/" lib/Travelynx/Controller/Static.pm
+RUN sed -i "s/\$self->plugin('Config');/\$self->plugin('Config'); \$self->config->{version} = '${travelynx_version}';/" lib/Travelynx.pm
+
+FROM perl:5.30-slim
ARG DEBIAN_FRONTEND=noninteractive
+ARG APT_LISTCHANGES_FRONTEND=none
-COPY cpanfile /app/cpanfile
+COPY cpanfile* /app/
WORKDIR /app
RUN apt-get update && apt-get install --no-install-recommends -y \
+ ca-certificates \
cpanminus \
- build-essential \
- libpq-dev \
+ gcc \
git \
+ libc6-dev \
+ libdb5.3 \
+ libdb5.3-dev \
+ libpq-dev \
+ libssl1.1 \
+ libssl-dev \
+ make \
+ zlib1g-dev \
&& cpanm -in --no-man-pages --installdeps . \
&& rm -rf ~/.cpanm \
&& apt-get purge -y \
- build-essential \
cpanminus \
- && apt-get autoremove -y
+ curl \
+ gcc \
+ libc6-dev \
+ libdb5.3-dev \
+ libssl-dev \
+ make \
+ zlib1g-dev \
+ && apt-get autoremove -y \
+ && rm -rf /var/cache/apt/* /var/lib/apt/lists/*
+
+COPY --from=files /app/ /app/
-COPY . /app
+EXPOSE 8093
-CMD ["/app/docker-run.sh"]
+ENTRYPOINT ["/app/docker-run.sh"]