ARM 64V8 DockerFile #376
slambert-lambdaprod
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Bonjour,
je vous propose le fichier suivant pour Dockerfile:
Use MS maintained .net docker image wuith aspnet and core runtimes for ARM64v8.
ARG REPO=mcr.microsoft.com/dotnet/runtime
FROM $REPO:3.1.22-bionic-arm64v8
#Define download location variables
ARG FILE_LOCATION="https://ispyfiles.azureedge.net/downloads/Agent_ARM64_3_8_3_0.zip"
ENV FILE_LOCATION_SET=${FILE_LOCATION:+true}
ENV DEFAULT_FILE_LOCATION="https://www.ispyconnect.com/api/Agent/DownloadLocation2?productID=24&is64=true&platform=ARM"
ARG DEBIAN_FRONTEND=noninteractive
ARG TZ=Europe/Paris
RUN aspnetcore_version=3.1.22
&& curl -fSL --output aspnetcore.tar.gz https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-arm64.tar.gz
&& aspnetcore_sha512='b60afc6277fbf256c6c8ff17cb644d0e893054d0f017d7fe68ed3acc5bc1276636cdf11e89148bd2bea8cee35acee688224d64cc3a468152ee8c84a9a33b4a2e'
&& echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c -
&& tar -oxzf aspnetcore.tar.gz -C /usr/share/dotnet ./shared/Microsoft.AspNetCore.App
&& rm aspnetcore.tar.gz
Download and install dependencies multiarch-support
RUN apt-get update
&& apt-get install -y wget libtbb-dev libc6-dev unzip multiarch-support gss-ntlmssp software-properties-common libjpeg-turbo8 lsb-core libjpeg8
&& wget http://ports.ubuntu.com/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.5.2-0ubuntu5.18.04.4_arm64.deb \
&& wget http://ports.ubuntu.com/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_arm64.deb \
&& dpkg -i libjpeg-turbo8_1.5.2-0ubuntu5.18.04.4_arm64.deb \
&& dpkg -i libjpeg8_8c-2ubuntu8_arm64.deb \
&& rm libjpeg-turbo8_1.5.2-0ubuntu5.18.04.4_arm64.deb \
&& rm libjpeg8_8c-2ubuntu8_arm64.deb \
&& wget https://raw.githubusercontent.com/ispysoftware/agent-install-scripts/main/install.sh \
&& bash ./install.sh
Install jonathon's ffmpeg
RUN add-apt-repository -y ppa:jonathonf/ffmpeg-4 &&
apt-get update && apt-get install -y ffmpeg
Download/Install iSpy Agent DVR:
Check if we were given a specific version
RUN if [ "${FILE_LOCATION_SET}" = "true" ]; then
echo "Downloading from specific location: ${FILE_LOCATION}" &&
wget -c ${FILE_LOCATION} -O agent.zip;
else
#Get latest instead
echo "Downloading latest" &&
wget -c $(wget -qO- "https://www.ispyconnect.com/api/Agent/DownloadLocation2?productID=24&is64=true&platform=ARM" | tr -d '"') -O agent.zip;
fi &&
unzip agent.zip -d /agent &&
rm agent.zip
Install libgdiplus, used for smart detection
RUN apt-get install -y libgdiplus
Install Time Zone
RUN apt-get install -y tzdata
RUN apt-get install -y libvlc-dev vlc libx11-dev
Clean up
RUN apt-get -y --purge remove unzip wget
&& apt autoremove -y
&& apt-get clean
&& rm -rf /var/lib/apt/lists/*
Docker needs to run a TURN server to get webrtc traffic to and from it over forwarded ports from the host
These are the default ports. If the ports below are modified here you'll also need to set the ports in XML/Config.xml
for example 34785000050010
The main server port is overridden by creating a text file called port.txt in the root directory containing the port number, eg: 8090
To access the UI you must use the local IP address of the host, NOT localhost - for example http://192.168.1.12:8090/
Define default environment variables
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Main UI port
EXPOSE 8090
TURN server port
EXPOSE 3478/udp
TURN server UDP port range
EXPOSE 50000-50010/udp
Data volumes
VOLUME ["/agent/Media/XML", "/agent/Media/WebServerRoot/Media", "/agent/Commands"]
Define service entrypoint
CMD ["dotnet", "/agent/Agent.dll"]
Beta Was this translation helpful? Give feedback.
All reactions