FROM debian:latest ARG PORT # Install deps RUN apt-get update && apt-get install --yes \ curl apache2 wireguard-tools sudo iproute2 \ && rm -rf /var/lib/apt/lists/* # Create dirs and temp files RUN mkdir /usr/lib/wagon /var/log/wagon RUN chown -R www-data:www-data /usr/lib/wagon /var/log/wagon # Configure apache RUN a2enmod cgi rewrite RUN sed -i "s/^Listen 80$/Listen ${PORT}/" /etc/apache2/ports.conf RUN sed -i -e "s/^$//" \ -e "s|DocumentRoot .*$|DocumentRoot /usr/lib/cgi-bin\n\tSetHandler cgi-script\n\tOptions +ExecCGI|" \ /etc/apache2/sites-available/000-default.conf # Allow http user to run these binaries as root with sudo RUN echo "www-data ALL=(ALL:ALL) NOPASSWD: /usr/bin/wg, /usr/bin/wg-quick, /usr/bin/[, /usr/bin/tee" \ | sudo EDITOR='tee -a' visudo # Copy over cgi and libs COPY fed.cgi /usr/lib/cgi-bin/index.cgi # TODO: Copy only needed libs COPY lib/ /usr/lib/wagon/ # Run time! EXPOSE ${PORT} CMD ["apachectl", "-D", "FOREGROUND"]