woo.dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. FROM debian:stretch-slim AS debian
  2. ARG DEBIAN_FRONTEND=noninteractive
  3. ARG TERM=linux
  4. RUN echo 'APT::Get::Install-Recommends "false";' > /etc/apt/apt.conf.d/00-general \
  5. && echo 'APT::Get::Install-Suggests "false";' >> /etc/apt/apt.conf.d/00-general \
  6. && echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf.d/00-general \
  7. && echo 'APT::Get::force-yes "true";' >> /etc/apt/apt.conf.d/00-general
  8. FROM debian AS roswell
  9. RUN apt-get update -q \
  10. && apt-get install --no-install-recommends -q -y \
  11. bzip2 \
  12. ca-certificates curl libcurl3-gnutls \
  13. make \
  14. && rm -rf /var/lib/apt/lists/* \
  15. && curl -L -O https://github.com/roswell/roswell/releases/download/v19.06.10.100/roswell_19.06.10.100-1_amd64.deb \
  16. && dpkg -i roswell_19.06.10.100-1_amd64.deb \
  17. && ros setup \
  18. && rm roswell_19.06.10.100-1_amd64.deb
  19. RUN echo 'export PATH=$HOME/.roswell/bin:$PATH' >> ~/.bashrc
  20. FROM roswell AS builder
  21. RUN apt-get update -q \
  22. && apt-get install --no-install-recommends -q -y \
  23. build-essential \
  24. libev-dev \
  25. && rm -rf /var/lib/apt/lists/*
  26. WORKDIR /woo
  27. ADD . .
  28. RUN ros build woo.ros
  29. FROM debian
  30. RUN apt-get update -q \
  31. && apt-get install --no-install-recommends -q -y \
  32. libev4 \
  33. && rm -rf /var/lib/apt/lists/*
  34. WORKDIR /woo
  35. COPY --from=builder /woo/woo .
  36. RUN ["chmod", "+x", "./woo"]
  37. EXPOSE 8080
  38. CMD ./woo --worker $(nproc) --address 0.0.0.0 --port 8080