# _ _ ____ ____ # / \ _ __(_) __ _|___ \ | _ \ _ __ ___ # / _ \ | '__| |/ _` | __) | | |_) | '__/ _ \ # / ___ \| | | | (_| |/ __/ | __/| | | (_) | # /_/ \_\_| |_|\__,_|_____| |_| |_| \___/ # # https://github.com/P3TERX/Aria2-Pro-Docker # # Copyright (c) 2020-2021 P3TERX # # This is free software, licensed under the MIT License. # See /LICENSE for more information. # Using Debian Bullseye as a more stable base than EOL Alpine FROM debian:bullseye-slim # Install s6-overlay and build aria2 in a single layer to reduce image size # renovate: datasource=github-releases depName=just-containers/s6-overlay ARG S6_OVERLAY_VERSION=v3.1.6.2 RUN BUILD_DEPS=" \ build-essential \ autoconf \ automake \ autotools-dev \ libtool \ pkg-config \ git \ gettext \ autopoint \ gettext-base \ libssl-dev \ libssh2-1-dev \ libc-ares-dev \ libexpat1-dev \ libc-ares-dev \ vim \ libexpat1 \ zlib1g-dev \ libsqlite3-dev \ " && \ apt-get update && \ apt-get install -y --no-install-recommends \ jq \ findutils \ ca-certificates \ curl \ xz-utils \ dos2unix \ $BUILD_DEPS && \ curl -sSL https://github.com/just-containers/s6-overlay/releases/download/${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz -o /tmp/s6-overlay-noarch.tar.xz && \ curl -sSL https://github.com/just-containers/s6-overlay/releases/download/${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz -o /tmp/s6-overlay-x86_64.tar.xz && \ tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz && \ git clone https://github.com/aria2/aria2.git /tmp/aria2 && \ cd /tmp/aria2 && \ git checkout 8985d66e71f980e7d2765753800078f47761f1ba && \ sed -i "s/\"1\", 1, 16, 'x'));/\"1\", 1, 128, 'x'));/" src/OptionHandlerFactory.cc && \ autoreconf -i && \ ./configure \ --disable-dependency-tracking \ --enable-static \ --disable-shared \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \ --without-libxml2 \ --with-libexpat \ --without-libgcrypt \ --with-openssl \ --with-libcares \ --with-libsqlite3 \ --with-libssh2 \ --with-zlib && \ make -j$(nproc) && \ make install && \ cd / && \ # No purge runtime dev apt-get purge -y --auto-remove $BUILD_DEPS && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* COPY rootfs / RUN find /etc/cont-init.d /etc/services.d -type f -exec dos2unix {} + && \ find /etc/cont-init.d /etc/services.d -type f -exec chmod +x {} + ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=1 \ RCLONE_CONFIG=/config/rclone.conf \ UPDATE_TRACKERS=true \ CUSTOM_TRACKER_URL= \ LISTEN_PORT=6888 \ RPC_PORT=6800 \ RPC_SECRET= \ PUID= PGID= \ DISK_CACHE= \ IPV6_MODE= \ UMASK_SET= \ SPECIAL_MODE= EXPOSE \ 6800 \ 6888 \ 6888/udp VOLUME \ /config \ /downloads #ENTRYPOINT ["/init"] CMD ["aria2c", \ "--enable-rpc=true", \ "--rpc-listen-all=true", \ "--rpc-listen-port=6800", \ "--listen-port=6888", \ "--disable-ipv6=true", \ "--max-concurrent-downloads=128", \ "--max-connection-per-server=32", \ "--split=6", \ "--min-split-size=2M", \ "--file-allocation=falloc", \ "--continue=false", \ "--check-integrity=false", \ "--log-level=info", \ "--console-log-level=info", \ "--save-session-interval=5", \ "--dir=/downloads", \ "--disk-cache=64M", \ "--input-file=/config/aria2.session", \ "--save-session=/config/aria2.session"]