mirror of https://github.com/OpenVidu/openvidu.git
56 lines
2.0 KiB
Docker
56 lines
2.0 KiB
Docker
FROM ubuntu:24.04
|
|
|
|
LABEL maintainer="info@openvidu.io"
|
|
|
|
USER root
|
|
|
|
ARG NODE_MAJOR=24
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN set -eux; \
|
|
apt update; \
|
|
apt install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
wget \
|
|
ffmpeg \
|
|
git \
|
|
gnupg \
|
|
iproute2 \
|
|
lsb-release \
|
|
openjdk-21-jdk \
|
|
rsync \
|
|
software-properties-common \
|
|
sudo; \
|
|
mkdir -p /etc/apt/keyrings; \
|
|
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg; \
|
|
chmod 0644 /etc/apt/keyrings/nodesource.gpg; \
|
|
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" > /etc/apt/sources.list.d/nodesource.list; \
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg; \
|
|
chmod 0644 /etc/apt/keyrings/docker.gpg; \
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list; \
|
|
apt update; \
|
|
apt install -y --no-install-recommends \
|
|
containerd.io \
|
|
docker-ce \
|
|
docker-ce-cli \
|
|
docker-compose-plugin \
|
|
nodejs; \
|
|
npm install -g http-server@latest; \
|
|
update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/bin/java; \
|
|
apt clean; \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV MAVEN_VERSION=3.9.11
|
|
ENV MAVEN_HOME=/usr/share/maven
|
|
ENV PATH=$MAVEN_HOME/bin:$PATH
|
|
RUN wget -q https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz && \
|
|
tar -xzf apache-maven-${MAVEN_VERSION}-bin.tar.gz -C /opt && \
|
|
ln -s /opt/apache-maven-${MAVEN_VERSION} $MAVEN_HOME && \
|
|
rm apache-maven-${MAVEN_VERSION}-bin.tar.gz
|
|
RUN mvn -v
|
|
|
|
COPY --chmod=0755 entrypoint.sh /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|