This docker build file is inspired by gangefors's build and is meant to build AirDC++ at version 2.12.1
due to the latest portable builds after 2.12.1
being broken.
Check out the bundle with Subversion to an empty directory:
svn export --force https://svn.grimore.org/docker/build/airdcpp/
change to that directory and issue:
docker build -t TAG .
where:
TAG
represents a tag to set on the built image (ie: airdcpp:2.12.1
)
After airdcpp is built, a container can be created and ran either via docker run
or deployed within the swarm with docker stack deploy
.
Note that if the image is to be deployed to a swarm, then more than likely the image should be committed to a local registry serving the local docker swarm.
The Dockerfile uses some additional files that are available from the SVN repositories (in the rootfs
sub-folder) and copied into the build environment that are meant to bootstrap a fresh AirDC++ install.
FROM debian:bookworm-slim # update package manager RUN apt-get update -y && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \ apt-get -y autoremove && \ apt-get clean # install required packages RUN apt-get -y install \ curl # UTF-8 support RUN apt-get install -y coreutils locales && \ sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ locale-gen && \ dpkg-reconfigure --frontend=noninteractive locales && \ update-locale LANG=en_US.UTF-8 # Install node-js RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && \ apt-get install -y nodejs && \ node --version && npm --version # install airdcpp WORKDIR /opt RUN curl -fLs https://web-builds.airdcpp.net/stable/airdcpp_2.12.1_webui-2.12.0_64-bit_portable.tar.gz -o airdcpp_2.12.1_webui-2.12.0_64-bit_portable.tar.gz && \ tar -xpvf airdcpp_2.12.1_webui-2.12.0_64-bit_portable.tar.gz && \ rm airdcpp_2.12.1_webui-2.12.0_64-bit_portable.tar.gz && \ ls -lR # cleanup RUN apt-get autoremove -y # add the filesystem ADD rootfs / # expose ports EXPOSE 5600 5601 21248 21248/udp 21249 ENTRYPOINT [ "/opt/airdcpp-webclient/airdcppd" ]
For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.