FROM alpine as builder RUN apk add --no-cache \ autoconf \ automake \ build-base \ c-ares-dev \ expat-dev \ gettext-dev \ git \ libtool \ openssl-dev \ pkgconf \ sqlite-dev RUN git clone --depth=1 https://github.com/aria2/aria2 RUN cd aria2 \ && autoreconf -i \ && ./configure \ && make -j 4 FROM node:11 as webui RUN git clone --depth=1 https://github.com/mayswind/AriaNg /AriaNg WORKDIR /AriaNg COPY ariang-additional-options.js . RUN ( \ head -n-3 src/scripts/config/aria2Options.js; \ cat ariang-additional-options.js; \ tail -3 src/scripts/config/aria2Options.js \ ) > src/scripts/config/aria2Options.js.new \ && mv src/scripts/config/aria2Options.js.new src/scripts/config/aria2Options.js RUN npm install \ && npm install natives@1.1.6 \ && npx gulp clean build-bundle FROM alpine RUN apk add --no-cache \ aria2 \ nginx \ su-exec RUN apk add --no-cache libintl COPY --from=builder /aria2/src/aria2c /usr/local/bin/ COPY --from=sbruder/aria2_exporter /aria2_exporter /aria2_exporter COPY --from=webui /AriaNg/dist /srv/www/webui COPY --from=nginx:alpine /etc/nginx/nginx.conf /etc/nginx/nginx.conf COPY nginx.conf /etc/nginx/conf.d/default.conf COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]