improve usability
This commit is contained in:
69
Dockerfile
69
Dockerfile
@ -1,34 +1,49 @@
|
||||
# Base image
|
||||
# args
|
||||
ARG ARCH=amd64
|
||||
ARG VCS_REF
|
||||
ARG BUILD_DATE
|
||||
|
||||
# base image
|
||||
FROM $ARCH/debian:buster-slim
|
||||
|
||||
# Maintainer
|
||||
MAINTAINER Florian Schwab <me@ydkn.io>
|
||||
# environment
|
||||
ENV ADMIN_PASSWORD=admin
|
||||
|
||||
# labels
|
||||
LABEL maintainer="Florian Schwab <me@ydkn.io>" \
|
||||
org.label-schema.schema-version="1.0" \
|
||||
org.label-schema.name="ydkn/cups" \
|
||||
org.label-schema.description="Simple CUPS docker image" \
|
||||
org.label-schema.version="0.1" \
|
||||
org.label-schema.url="https://hub.docker.com/r/ydkn/cups" \
|
||||
org.label-schema.vcs-url="https://gitlab.com/ydkn/docker-cups" \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.build-date=$BUILD_DATE
|
||||
|
||||
# install packages
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
sudo \
|
||||
cups \
|
||||
cups-bsd \
|
||||
cups-filters \
|
||||
foomatic-db-compressed-ppds \
|
||||
printer-driver-all \
|
||||
openprinting-ppds \
|
||||
hpijs-ppds \
|
||||
hp-ppd \
|
||||
hplip \
|
||||
sudo \
|
||||
cups \
|
||||
cups-bsd \
|
||||
cups-filters \
|
||||
foomatic-db-compressed-ppds \
|
||||
printer-driver-all \
|
||||
openprinting-ppds \
|
||||
hpijs-ppds \
|
||||
hp-ppd \
|
||||
hplip \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# add print user
|
||||
RUN adduser --home /home/print --shell /bin/bash --gecos "print" --disabled-password print \
|
||||
&& adduser print sudo \
|
||||
&& adduser print lp \
|
||||
&& adduser print lpadmin
|
||||
RUN adduser --home /home/admin --shell /bin/bash --gecos "admin" --disabled-password admin \
|
||||
&& adduser admin sudo \
|
||||
&& adduser admin lp \
|
||||
&& adduser admin lpadmin
|
||||
|
||||
# disable sudo password checking
|
||||
RUN echo 'print ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
||||
RUN echo 'admin ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
||||
|
||||
# enable access to CUPS
|
||||
RUN /usr/sbin/cupsd \
|
||||
@ -37,12 +52,18 @@ RUN /usr/sbin/cupsd \
|
||||
&& kill $(cat /var/run/cups/cupsd.pid) \
|
||||
&& echo "ServerAlias *" >> /etc/cups/cupsd.conf
|
||||
|
||||
# volumes
|
||||
VOLUME ["/etc/cups/printers.conf"]
|
||||
VOLUME ["/etc/cups/ppd"]
|
||||
# copy /etc/cups for skeleton usage
|
||||
RUN cp -rp /etc/cups /etc/cups-skel
|
||||
|
||||
# ports
|
||||
EXPOSE 631
|
||||
# entrypoint
|
||||
ADD docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
ENTRYPOINT [ "docker-entrypoint.sh" ]
|
||||
|
||||
# default command
|
||||
CMD ["/usr/sbin/cupsd", "-f"]
|
||||
CMD ["cupsd", "-f"]
|
||||
|
||||
# volumes
|
||||
VOLUME ["/etc/cups"]
|
||||
|
||||
# ports
|
||||
EXPOSE 631
|
Reference in New Issue
Block a user