eprilog/Dockerfile

72 lines
1.5 KiB
Docker
Raw Normal View History

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 .