FROM alpine:latest # Install the packages we need. Avahi will be included RUN echo "http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories &&\ apk add --update cups cups-libs cups-pdf cups-client \ cups-filters \ cups-dev \ ghostscript \ avahi \ inotify-tools \ python \ python-dev \ py-pip \ build-base \ wget \ && pip --no-cache-dir install --upgrade pip \ && pip install pycups \ && rm -rf /var/cache/apk/* # This will use port 631 EXPOSE 631 # We want a mount for these VOLUME /config VOLUME /services # Add scripts ADD root / RUN chmod +x /root/* #Run Script CMD ["/root/run_cups.sh"] # Baked-in config file changes RUN sed -i 's/Listen localhost:631/Listen 0.0.0.0:631/' /etc/cups/cupsd.conf && \ sed -i 's/Browsing Off/Browsing On/' /etc/cups/cupsd.conf && \ sed -i 's//\n Allow All/' /etc/cups/cupsd.conf && \ sed -i 's//\n Allow All\n Require user @SYSTEM/' /etc/cups/cupsd.conf && \ sed -i 's//\n Allow All/' /etc/cups/cupsd.conf && \ sed -i 's/.*enable\-dbus=.*/enable\-dbus\=no/' /etc/avahi/avahi-daemon.conf && \ echo "ServerAlias *" >> /etc/cups/cupsd.conf && \ echo "DefaultEncryption Never" >> /etc/cups/cupsd.conf