Add alpine base dockerfile (#7)

* Add alpine base dockerfile

* Adding missing package for mysql init
This commit is contained in:
Steve HOLWEG 2017-12-11 14:18:53 +01:00 committed by Peter Schiffer
parent 1fddeda864
commit e07ffde413
4 changed files with 75 additions and 2 deletions

View file

@ -0,0 +1,50 @@
FROM alpine:3.7
MAINTAINER "Peter Schiffer" <pschiffe@redhat.com>
RUN set -xe \
&& apk update --no-cache && apk upgrade --no-cache \
&& apk add --update --no-cache \
curl \
py-pip \
uwsgi-python \
py-mysqldb \
py-pyldap \
py-cffi \
py-bcrypt \
mariadb-client \
&& rm -rf /var/cache/apk/*
RUN mkdir -p /opt/powerdns-admin \
&& curl -sSL https://git.0x97.io/0x97/powerdns-admin/repository/master/archive.tar.gz \
| tar -xzC /opt/powerdns-admin --strip 1 \
&& sed -i '/MySQL-python/d' /opt/powerdns-admin/requirements.txt \
&& sed -i '/python-ldap/d' /opt/powerdns-admin/requirements.txt \
&& sed -i '/bcrypt/d' /opt/powerdns-admin/requirements.txt \
&& chown -R root: /opt/powerdns-admin \
&& chown -R uwsgi: /opt/powerdns-admin/upload
WORKDIR /opt/powerdns-admin
RUN pip install envtpl \
&& pip install -r requirements.txt \
&& rm -rf ~/.cache/*
ENV PDNS_ADMIN_LOGIN_TITLE="'PDNS'" \
PDNS_ADMIN_TIMEOUT=10 \
PDNS_ADMIN_LOG_LEVEL="'INFO'" \
PDNS_ADMIN_BASIC_ENABLED=True \
PDNS_ADMIN_SIGNUP_ENABLED=True \
PDNS_ADMIN_RECORDS_ALLOW_EDIT="['SOA', 'NS', 'A', 'AAAA', 'CNAME', 'MX', 'TXT', 'SRV']"
EXPOSE 9494
VOLUME [ "/opt/powerdns-admin/upload" ]
COPY pdns-admin.ini /etc/uwsgi/conf.d/
RUN chown uwsgi: /etc/uwsgi/conf.d/pdns-admin.ini && \
ln -s /etc/uwsgi/uwsgi.ini /etc/uwsgi.ini
COPY config.py.tpl /
COPY docker-cmd.sh /
CMD [ "/docker-cmd.sh" ]

View file

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
set -euo pipefail set -euo pipefail

23
pdns/Dockerfile.alpine Normal file
View file

@ -0,0 +1,23 @@
FROM alpine:3.7
MAINTAINER "Peter Schiffer" <pschiffe@redhat.com>
RUN set -xe \
&& apk update --no-cache && apk upgrade --no-cache \
&& apk add --update --no-cache pdns pdns-backend-mysql pdns-doc python3 mariadb-client \
&& rm -rf /var/cache/apk/*
RUN pip3 install envtpl \
&& rm -rf ~/.cache/*
ENV VERSION=4.0.4 \
PDNS_guardian=yes \
PDNS_setuid=pdns \
PDNS_setgid=pdns \
PDNS_launch=gmysql
EXPOSE 53 53/udp
COPY pdns.conf.tpl /
COPY docker-cmd.sh /
CMD [ "/docker-cmd.sh" ]

View file

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
set -euo pipefail set -euo pipefail