| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:63d5ab3ef0aab308c0e71cb67292c5467f60deafa9b0418cbb220affcd078444 in / |
| CMD ["/bin/bash"] |
| ENV NVARCH=x86_64 |
| ENV NVIDIA_REQUIRE_CUDA=cuda>=11.8 brand=tesla,driver>=470,driver<471 brand=unknown,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=geforce,driver>=470,driver<471 brand=geforcertx,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=titan,driver>=470,driver<471 brand=titanrtx,driver>=470,driver<471 |
| ENV NV_CUDA_CUDART_VERSION=11.8.89-1 |
| ENV NV_CUDA_COMPAT_PACKAGE=cuda-compat-11-8 |
| ARG TARGETARCH |
| LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com> |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSLO https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/${NVARCH}/cuda-keyring_1.0-1_all.deb && dpkg -i cuda-keyring_1.0-1_all.deb && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV CUDA_VERSION=11.8.0 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-11-8=${NV_CUDA_CUDART_VERSION} ${NV_CUDA_COMPAT_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit |
| ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 |
| COPY NGC-DL-CONTAINER-LICENSE / # buildkit |
| ENV NVIDIA_VISIBLE_DEVICES=all |
| ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility |
| ENV NV_CUDA_LIB_VERSION=11.8.0-1 |
| ENV NV_NVTX_VERSION=11.8.86-1 |
| ENV NV_LIBNPP_VERSION=11.8.0.86-1 |
| ENV NV_LIBNPP_PACKAGE=libnpp-11-8=11.8.0.86-1 |
| ENV NV_LIBCUSPARSE_VERSION=11.7.5.86-1 |
| ENV NV_LIBCUBLAS_PACKAGE_NAME=libcublas-11-8 |
| ENV NV_LIBCUBLAS_VERSION=11.11.3.6-1 |
| ENV NV_LIBCUBLAS_PACKAGE=libcublas-11-8=11.11.3.6-1 |
| ENV NV_LIBNCCL_PACKAGE_NAME=libnccl2 |
| ENV NV_LIBNCCL_PACKAGE_VERSION=2.15.5-1 |
| ENV NCCL_VERSION=2.15.5-1 |
| ENV NV_LIBNCCL_PACKAGE=libnccl2=2.15.5-1+cuda11.8 |
| ARG TARGETARCH |
| LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com> |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-libraries-11-8=${NV_CUDA_LIB_VERSION} ${NV_LIBNPP_PACKAGE} cuda-nvtx-11-8=${NV_NVTX_VERSION} libcusparse-11-8=${NV_LIBCUSPARSE_VERSION} ${NV_LIBCUBLAS_PACKAGE} ${NV_LIBNCCL_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-mark hold ${NV_LIBCUBLAS_PACKAGE_NAME} ${NV_LIBNCCL_PACKAGE_NAME} # buildkit |
| COPY entrypoint.d/ /opt/nvidia/entrypoint.d/ # buildkit |
| COPY nvidia_entrypoint.sh /opt/nvidia/ # buildkit |
| ENV NVIDIA_PRODUCT_NAME=CUDA |
| ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"] |
| WORKDIR / |
| COPY /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg # buildkit |
| COPY /usr/local/bin/ffprobe /usr/local/bin/ffprobe # buildkit |
| COPY /usr/local/lib/lib* /usr/local/lib/ # buildkit |
| RUN /bin/sh -c DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y nginx-extras supervisor python3.9 python3-pip python3-dev libldap2-dev libsasl2-dev libssl-dev libffi-dev libc-dev build-essential wget curl ca-certificates tzdata libx264-163 libx265-199 libvpx7 libaom3 libopus0 libvorbis0a libvorbisenc2 libass9 libfreetype6 libmp3lame0 && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c ln -sf /usr/local/bin/ffmpeg /usr/bin/ffmpeg && ln -sf /usr/local/bin/ffprobe /usr/bin/ffprobe && echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf && echo "/usr/local/cuda/lib64" >> /etc/ld.so.conf.d/usr-local.conf && echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf && ldconfig && ffmpeg -version && echo "Available encoders:" && ffmpeg -hide_banner -encoders 2>/dev/null | grep -E "(nvenc|libaom|libvpx|libx264)" || true # buildkit |
| RUN /bin/sh -c adduser --disabled-password --gecos '' nginx # buildkit |
| RUN /bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log # buildkit |
| RUN /bin/sh -c mkdir /data && mkdir /processed # buildkit |
| COPY entrypoint.sh / # buildkit |
| COPY app/nginx/prod.conf /etc/nginx/nginx.conf # buildkit |
| COPY app/server/ /app/server # buildkit |
| COPY migrations/ /migrations # buildkit |
| COPY /app/build /app/build # buildkit |
| RUN /bin/sh -c pip install --no-cache-dir /app/server # buildkit |
| ENV FLASK_APP=/app/server/fireshare:create_app() |
| ENV FLASK_ENV=production |
| ENV ENVIRONMENT=production |
| ENV DATA_DIRECTORY=/data |
| ENV VIDEO_DIRECTORY=/videos |
| ENV PROCESSED_DIRECTORY=/processed |
| ENV TEMPLATE_PATH=/app/server/fireshare/templates |
| ENV ADMIN_PASSWORD=admin |
| ENV TZ=UTC |
| ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/lib:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64 |
| ENV PATH=/usr/local/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| EXPOSE [80/tcp] |
| CMD ["bash" "/entrypoint.sh"] |