RASCSI/docker/backend/Dockerfile
nucleogenic 88ff542aeb
Run web API test suite in GitHub Actions (#1009)
- Fixed ignore patterns in .dockerignore
- Added healthchecks to backend and web containers
- Reduced Docker image sizes
- Removed RaSCSI references in various areas (e.g. rascsi -> backend)
- Added compilation-only step to easyinstall.sh
- Moved apt package lists to variables
- Revert to triggering GitHub Actions runs on push
- Updated web/frontend_checks workflow to run black and flake8 against all Python sources
- Capture log files from backend/web containers
- Fix None to float conversion bug when user agent is absent or unrecognised
2022-12-04 14:31:57 +00:00

37 lines
1.1 KiB
Docker

ARG DEBIAN_FRONTEND=noninteractive
FROM debian:bullseye AS build
RUN apt-get update && apt-get install --assume-yes --no-install-recommends sudo
RUN groupadd pi \
&& useradd --create-home --shell /bin/bash -g pi pi \
&& echo "pi ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
USER pi
WORKDIR /home/pi/RASCSI
COPY --chown=pi:pi easyinstall.sh .
COPY --chown=pi:pi cpp cpp
COPY --chown=pi:pi doc doc
RUN ./easyinstall.sh --run_choice=15 --cores=`nproc`
FROM debian:bullseye-slim AS runner
USER root
WORKDIR /home/pi
COPY --from=build /home/pi/RASCSI/cpp/bin/fullspec/* /usr/local/bin/
COPY docker/backend/rascsi_wrapper.sh /usr/local/bin/rascsi_wrapper.sh
RUN chmod +x /usr/local/bin/*
RUN mkdir -p /home/pi/images
RUN apt-get update \
&& apt-get install --no-install-recommends --assume-yes libpcap-dev libprotobuf-dev \
&& apt autoremove -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
EXPOSE 6868
ENTRYPOINT ["/usr/local/bin/rascsi_wrapper.sh", "-r", "7", "-F", "/home/pi/images"]
CMD ["-L", "trace"]
HEALTHCHECK --interval=5m --timeout=1s CMD rasctl -v