diff --git a/.travis.yml b/.travis.yml index be03e0d..11121a2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,11 @@ env: - VERSION=3.4 VARIANT=mysql - VERSION=3.4 VARIANT=sqlite3 + - VERSION=4.0 VARIANT=bind + - VERSION=4.0 VARIANT=geoip + - VERSION=4.0 VARIANT=mysql + - VERSION=4.0 VARIANT=sqlite3 + before_script: - export REPO=dockervan/powerdns - docker pull $REPO:$VERSION-$VARIANT || true diff --git a/4.0/bind/Dockerfile b/4.0/bind/Dockerfile new file mode 100644 index 0000000..917a647 --- /dev/null +++ b/4.0/bind/Dockerfile @@ -0,0 +1,25 @@ +FROM alpine:3.3 + +MAINTAINER Sullivan SENECHAL + +RUN apk add --no-cache --virtual .deps boost-serialization libstdc++ \ +&& apk add --no-cache --virtual .modules-deps \ +&& apk add --no-cache --virtual .build-deps openssl tar file gcc g++ make autoconf boost-dev \ +&& apk add --no-cache --virtual .modules-build-deps \ + +&& wget https://downloads.powerdns.com/releases/pdns-4.0.0-alpha1.tar.bz2 -O pdns.tar.bz2 \ +&& mkdir pdns && tar xf pdns.tar.bz2 -C pdns --strip-components 1 \ +&& rm -rf pdns.tar.bz2 \ +&& cd pdns \ +&& ./configure --with-modules="bind" \ +&& make -j$(getconf _NPROCESSORS_ONLN) && make install && make clean \ +&& cd .. \ +&& rm -r pdns \ + +&& apk del .build-deps .modules-build-deps + +ADD pdns.conf /usr/local/etc/pdns.conf + +EXPOSE 53 + +CMD ["pdns_server", "--loglevel=9", "--log-dns-queries"] diff --git a/4.0/bind/docker-compose.yml b/4.0/bind/docker-compose.yml new file mode 100644 index 0000000..058a06d --- /dev/null +++ b/4.0/bind/docker-compose.yml @@ -0,0 +1,4 @@ +pdns: + image: powerdns:bind + ports: + - '53:53' diff --git a/4.0/bind/pdns.conf b/4.0/bind/pdns.conf new file mode 100644 index 0000000..8731fa9 --- /dev/null +++ b/4.0/bind/pdns.conf @@ -0,0 +1 @@ +launch=bind diff --git a/4.0/geoip/Dockerfile b/4.0/geoip/Dockerfile new file mode 100644 index 0000000..cd2f6c1 --- /dev/null +++ b/4.0/geoip/Dockerfile @@ -0,0 +1,33 @@ +FROM alpine:3.3 + +MAINTAINER Sullivan SENECHAL + +RUN apk add --no-cache --virtual .deps boost-serialization libstdc++ \ +&& apk add --no-cache --virtual .modules-deps geoip \ +&& apk add --no-cache --virtual .build-deps openssl tar file gcc g++ make autoconf boost-dev \ +&& apk add --no-cache --virtual .modules-build-deps cmake geoip-dev \ + +&& wget https://github.com/jbeder/yaml-cpp/archive/release-0.5.3.tar.gz -O yaml-cpp.tar.gz \ +&& mkdir yaml-cpp && tar xf yaml-cpp.tar.gz -C yaml-cpp --strip-components 1 \ +&& cd yaml-cpp \ +&& mkdir build && cd build \ +&& cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && make -j$(getconf _NPROCESSORS_ONLN) && make install \ +&& cd ../.. \ +&& rm -r yaml-cpp \ + +&& wget https://downloads.powerdns.com/releases/pdns-4.0.0-alpha1.tar.bz2 -O pdns.tar.bz2 \ +&& mkdir pdns && tar xf pdns.tar.bz2 -C pdns --strip-components 1 \ +&& rm -rf pdns.tar.bz2 \ +&& cd pdns \ +&& ./configure --with-modules="geoip" \ +&& make -j$(getconf _NPROCESSORS_ONLN) && make install && make clean \ +&& cd .. \ +&& rm -r pdns \ + +&& apk del .build-deps .modules-build-deps + +ADD pdns.conf /usr/local/etc/pdns.conf + +EXPOSE 53 + +CMD ["pdns_server", "--loglevel=9", "--log-dns-queries"] diff --git a/4.0/geoip/docker-compose.yml b/4.0/geoip/docker-compose.yml new file mode 100644 index 0000000..44a92e5 --- /dev/null +++ b/4.0/geoip/docker-compose.yml @@ -0,0 +1,6 @@ +pdns: + image: powerdns:geoip + ports: + - '53:53' + volumes: + - /usr/share/GeoIP:/usr/share/GeoIP:ro diff --git a/4.0/geoip/pdns.conf b/4.0/geoip/pdns.conf new file mode 100644 index 0000000..1a1509b --- /dev/null +++ b/4.0/geoip/pdns.conf @@ -0,0 +1 @@ +launch=geoip diff --git a/4.0/mysql/Dockerfile b/4.0/mysql/Dockerfile new file mode 100644 index 0000000..5bbd696 --- /dev/null +++ b/4.0/mysql/Dockerfile @@ -0,0 +1,33 @@ +FROM alpine:3.3 + +MAINTAINER Sullivan SENECHAL + +RUN apk add --no-cache --virtual .deps boost-serialization libstdc++ \ +&& apk add --no-cache --virtual .build-deps openssl tar file gcc g++ make autoconf boost-dev \ +&& apk add --no-cache --virtual .modules-build-deps cmake \ + +&& wget https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.6-src.tar.gz -O mysql-connector-c.tar.gz \ +&& mkdir mysql-connector-c && tar xf mysql-connector-c.tar.gz -C mysql-connector-c --strip-components 1 \ +&& cd mysql-connector-c \ +&& cmake -G "Unix Makefiles" && make -j$(getconf _NPROCESSORS_ONLN) && make install \ +&& ln -s /usr/local/mysql/bin/* /usr/local/bin \ +&& ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 \ +&& cd .. \ +&& rm -r mysql-connector-c.tar.gz mysql-connector-c \ + +&& wget https://downloads.powerdns.com/releases/pdns-4.0.0-alpha1.tar.bz2 -O pdns.tar.bz2 \ +&& mkdir pdns && tar xf pdns.tar.bz2 -C pdns --strip-components 1 \ +&& rm -rf pdns.tar.bz2 \ +&& cd pdns \ +&& ./configure --with-modules="gmysql" \ +&& make -j$(getconf _NPROCESSORS_ONLN) && make install && make clean \ +&& cd .. \ +&& rm -r pdns \ + +&& apk del .build-deps .modules-build-deps + +ADD pdns.conf /usr/local/etc/pdns.conf + +EXPOSE 53 + +CMD ["pdns_server", "--loglevel=9", "--log-dns-queries"] diff --git a/4.0/mysql/docker-compose.yml b/4.0/mysql/docker-compose.yml new file mode 100644 index 0000000..a094d14 --- /dev/null +++ b/4.0/mysql/docker-compose.yml @@ -0,0 +1,11 @@ +pdns: + image: powerdns:mysql + links: + - mysql:db + ports: + - '53:53' + +mysql: + image: mysql + environment: + MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' diff --git a/4.0/mysql/pdns.conf b/4.0/mysql/pdns.conf new file mode 100644 index 0000000..3a5e67c --- /dev/null +++ b/4.0/mysql/pdns.conf @@ -0,0 +1,5 @@ +launch=gmysql +gmysql-host=db +gmysql-user=root +gmysql-dbname=pdns +gmysql-password= diff --git a/4.0/sqlite3/Dockerfile b/4.0/sqlite3/Dockerfile new file mode 100644 index 0000000..43d6321 --- /dev/null +++ b/4.0/sqlite3/Dockerfile @@ -0,0 +1,25 @@ +FROM alpine:3.3 + +MAINTAINER Sullivan SENECHAL + +RUN apk add --no-cache --virtual .deps boost-serialization libstdc++ \ +&& apk add --no-cache --virtual .modules-deps sqlite-libs \ +&& apk add --no-cache --virtual .build-deps openssl tar file gcc g++ make autoconf boost-dev \ +&& apk add --no-cache --virtual .modules-build-deps sqlite-dev \ + +&& wget https://downloads.powerdns.com/releases/pdns-4.0.0-alpha1.tar.bz2 -O pdns.tar.bz2 \ +&& mkdir pdns && tar xf pdns.tar.bz2 -C pdns --strip-components 1 \ +&& rm -rf pdns.tar.bz2 \ +&& cd pdns \ +&& ./configure --with-modules="gsqlite3" \ +&& make -j$(getconf _NPROCESSORS_ONLN) && make install && make clean \ +&& cd .. \ +&& rm -r pdns \ + +&& apk del .build-deps .modules-build-deps + +ADD pdns.conf /usr/local/etc/pdns.conf + +EXPOSE 53 + +CMD ["pdns_server", "--loglevel=9", "--log-dns-queries"] diff --git a/4.0/sqlite3/docker-compose.yml b/4.0/sqlite3/docker-compose.yml new file mode 100644 index 0000000..f60db24 --- /dev/null +++ b/4.0/sqlite3/docker-compose.yml @@ -0,0 +1,4 @@ +pdns: + image: powerdns:sqlite3 + ports: + - '53:53' diff --git a/4.0/sqlite3/pdns.conf b/4.0/sqlite3/pdns.conf new file mode 100644 index 0000000..679e6a7 --- /dev/null +++ b/4.0/sqlite3/pdns.conf @@ -0,0 +1,2 @@ +launch=gsqlite3 +gsqlite3-database=db.sqlite3