FROM ubuntu:24.04 ARG DEBIAN_FRONTEND="noninteractive" ENV DUMB_INIT_BASE_URL="https://github.com/Yelp/dumb-init/releases/download/v1.2.5" # Step 1: Install prerequisites RUN apt-get update && apt-get -y install curl software-properties-common # Step 2: Add the Deluge PPA and update apt cache RUN add-apt-repository -u ppa:deluge-team/stable && apt-get update # Step 3: Download dumb-init asset for arm64 RUN curl -Lo /tmp/dumb-init "$DUMB_INIT_BASE_URL/dumb-init_1.2.5_aarch64" # Step 4: Install dumb-init for arm64 RUN cp /tmp/dumb-init /usr/local/bin/dumb-init && \ chmod +x /usr/local/bin/dumb-init && \ rm -rf /tmp/dumb-init # Step 5: Install other dependencies RUN apt-get -y install iputils-ping dnsutils bash jq net-tools openvpn curl ufw deluged deluge-web p7zip-full unrar unzip # Step 6: Clean up apt cache and temporary files RUN rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* # Step 7: Add the user "abc" RUN groupmod -g 1000 users && \ useradd -u 911 -U -d /config -s /bin/false abc && \ usermod -G users abc # Step 8: Copy configuration and scripts COPY root/ / # Step 9: Set environment variables ENV OPENVPN_USERNAME=**None** \ OPENVPN_PASSWORD=**None** \ OPENVPN_PROVIDER=**None** \ GLOBAL_APPLY_PERMISSIONS=true \ TZ=Europe/Berlin \ DELUGE_WEB_PORT=8112 \ DELUGE_DEAMON_PORT=58846 \ DELUGE_DOWNLOAD_DIR=/download/completed \ DELUGE_INCOMPLETE_DIR=/download/incomplete \ DELUGE_TORRENT_DIR=/download/torrents \ DELUGE_WATCH_DIR=/download/watch \ CREATE_TUN_DEVICE=true \ ENABLE_UFW=false \ UFW_ALLOW_GW_NET=false \ UFW_EXTRA_PORTS= \ UFW_DISABLE_IPTABLES_REJECT=false \ PUID= \ PGID= \ UMASK=022 \ PEER_DNS=true \ PEER_DNS_PIN_ROUTES=true \ DROP_DEFAULT_ROUTE= \ HEALTH_CHECK_HOST=google.com \ LOG_TO_STDOUT=false \ DELUGE_LISTEN_PORT_LOW=53394 \ DELUGE_LISTEN_PORT_HIGH=53404 \ DELUGE_OUTGOING_PORT_LOW=63394 \ DELUGE_OUTGOING_PORT_HIGH=63404 # Step 10: Configure health check and expose ports HEALTHCHECK --interval=1m CMD /etc/scripts/healthcheck.sh EXPOSE 8112 58846 # Step 11: Set default command CMD ["/usr/local/bin/dumb-init", "/etc/openvpn/init.sh"]