2024-01-12 15:41:42 +00:00
|
|
|
FROM rocker/r-ver:4.3.1
|
|
|
|
|
|
|
|
ENV S6_VERSION=v2.1.0.2
|
|
|
|
ENV SHINY_SERVER_VERSION=latest
|
|
|
|
ENV PANDOC_VERSION=default
|
|
|
|
|
|
|
|
|
|
|
|
ARG BUILD_DATE
|
|
|
|
ARG BUILD_VERSION
|
|
|
|
ARG GIT_COMMIT
|
|
|
|
ARG GIT_URL
|
|
|
|
LABEL maintainer="PMF kontakt@blume-it.com"
|
|
|
|
MAINTAINER "kontakt@blume-it.com"
|
|
|
|
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get upgrade -y
|
|
|
|
|
|
|
|
|
|
|
|
RUN apt-get -y --no-install-recommends install \
|
|
|
|
libcurl4-gnutls-dev \
|
|
|
|
libgdal-dev \
|
|
|
|
libproj-dev \
|
|
|
|
libgeos-dev \
|
|
|
|
libudunits2-dev \
|
|
|
|
netcdf-bin \
|
|
|
|
libssl-dev
|
|
|
|
|
|
|
|
|
|
|
|
# shiny-server installation
|
|
|
|
COPY ./arm64-docker/install_dependencies.sh /rocker_scripts/
|
|
|
|
RUN chmod 777 /rocker_scripts/install_dependencies.sh
|
|
|
|
RUN /rocker_scripts/install_dependencies.sh
|
|
|
|
|
|
|
|
|
|
|
|
COPY ./arm64-docker/install_shiny_server.sh /rocker_scripts/
|
|
|
|
RUN chmod 777 /rocker_scripts/install_shiny_server.sh
|
|
|
|
RUN /rocker_scripts/install_shiny_server.sh
|
|
|
|
|
|
|
|
|
|
|
|
#clean up
|
|
|
|
RUN apt-get clean
|
|
|
|
|
|
|
|
|
|
|
|
VOLUME [ "/data/" ]
|
|
|
|
|
|
|
|
# r packages
|
|
|
|
RUN R -e 'install.packages("shiny")'
|
2024-01-12 20:18:29 +00:00
|
|
|
RUN R -e 'install.packages("DT")'
|
|
|
|
|
2024-01-12 15:41:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
# copy the app directory into the image
|
|
|
|
COPY ./eprilog.r /
|
|
|
|
|
|
|
|
# copy status docker files
|
2024-01-12 20:18:29 +00:00
|
|
|
COPY ./.status-docker_dockerfile /.status-docker
|
2024-01-12 15:41:42 +00:00
|
|
|
|
|
|
|
WORKDIR /
|
|
|
|
|
|
|
|
# expose port
|
|
|
|
EXPOSE 3839
|
|
|
|
|
|
|
|
# run app
|
|
|
|
CMD ["R", "-e", "shiny::runApp('/eprilog.r', host = '0.0.0.0', port = 3839)"]
|
|
|
|
|
|
|
|
|
2024-01-12 15:45:44 +00:00
|
|
|
|
|
|
|
# How to build (multi-arch):
|
|
|
|
# docker buildx create --name mybuilder --use
|
|
|
|
# docker buildx inspect --bootstrap
|
|
|
|
#
|
|
|
|
# docker buildx build --push --platform linux/arm64/v8,linux/amd64 --tag git.nucleolus.xyz/fblume/eprilog/eprilog:latest -f Dockerfile .
|