Dockerfile.new 1.4 KB

12345678910111213141516171819202122232425
  1. FROM us-central1-docker.pkg.dev/zerotier-421eb9/docker-images/controller_conda_builder:latest AS controller_conda_builder
  2. ADD . /ZeroTierOne
  3. WORKDIR /ZeroTierOne
  4. SHELL ["conda", "run", "--no-capture-output", "-n", "central_controller", "/bin/bash", "-c"]
  5. RUN cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DZT1_CENTRAL_CONTROLLER=1 && cmake --build build/ --target all -j4 --verbose
  6. FROM golang:bookworm AS go_base
  7. RUN go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
  8. FROM continuumio/miniconda3:25.3.1-1
  9. LABEL maintainer="ZeroTier Inc."
  10. ADD conda_env_run.yml /environment.yml
  11. RUN conda env create -f /environment.yml && \
  12. conda clean -a -y
  13. SHELL ["conda", "run", "--no-capture-output", "-n", "central_controller", "/bin/bash", "-c"]
  14. COPY --from=go_base /go/bin/migrate /usr/local/bin/migrate
  15. COPY --from=controller_conda_builder /ZeroTierOne/build/zerotier-one /usr/local/bin/zerotier-one
  16. COPY ext/central-controller-docker/migrations /migrations
  17. RUN chmod a+x /usr/local/bin/zerotier-one
  18. # RUN echo "/opt/conda/envs/central_controller/lib" > /etc/ld.so.conf.d/conda-central-controller.conf && \
  19. # echo "/opt/conda/envs/central_controller/`uname -m`-conda-linux-gnu/lib" > /etc/ld.so.conf.d/conda-central-controller-x64.conf && \
  20. # ldconfig
  21. ADD ext/central-controller-docker/main-new.sh /main.sh
  22. RUN chmod a+x /main.sh
  23. ENTRYPOINT ["conda", "run", "--no-capture-output", "-n", "central_controller", "/bin/bash", "-c", "/main.sh"]