Dockerfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Dockerfile for ZeroTier Central Controllers
  2. FROM centos:8 as builder
  3. MAINTAINER Adam Ierymekno <[email protected]>, Grant Limberg <[email protected]>
  4. ARG git_branch=master
  5. RUN yum update -y
  6. RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  7. RUN dnf -qy module disable postgresql
  8. RUN yum -y install epel-release && yum -y update && yum clean all
  9. RUN yum groupinstall -y "Development Tools"
  10. RUN yum install -y bash cmake postgresql10 postgresql10-devel clang jemalloc jemalloc-devel
  11. RUN curl -sL https://github.com/jtv/libpqxx/archive/refs/tags/6.4.5.tar.gz -o libpqxx.tar.gz
  12. RUN tar -xzf libpqxx.tar.gz && \
  13. pushd libpqxx-6.4.5/ && \
  14. mkdir build && pushd build/ && \
  15. cmake .. && \
  16. make install && \
  17. popd && popd
  18. # RUN git clone http://git.int.zerotier.com/zerotier/ZeroTierOne.git
  19. # RUN if [ "$git_branch" != "master" ]; then cd ZeroTierOne && git checkout -b $git_branch origin/$git_branch; fi
  20. ADD . /ZeroTierOne
  21. RUN cd ZeroTierOne && make clean && make central-controller
  22. FROM centos:8
  23. RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  24. RUN dnf -qy module disable postgresql
  25. RUN yum -y install epel-release && yum -y update && yum clean all
  26. RUN yum install -y jemalloc jemalloc-devel postgresql10
  27. COPY --from=builder /usr/local/lib64/libpqxx.so /usr/local/lib64/libpqxx.so
  28. COPY --from=builder /usr/local/lib64/libpqxx.a /usr/local/lib64/libpqxx.a
  29. COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
  30. RUN chmod a+x /usr/local/bin/zerotier-one
  31. ADD ext/central-controller-docker/main.sh /
  32. RUN chmod a+x /main.sh
  33. ENTRYPOINT /main.sh