3
0
mirror of https://github.com/pragma-/pbot.git synced 2025-07-06 05:27:26 +02:00
pbot/applets/pbot-vm/Dockerfile
2024-03-11 23:39:22 -04:00

27 lines
900 B
Docker

FROM perl:5.34
# Install system dependencies.
RUN apt-get update && apt-get install -y clang gcc clang g++ tcl ghc git cpanminus
# Need the sources.
COPY . /opt/pbot
RUN cd /opt/pbot && cpanm -n --installdeps . --with-all-features --without-feature=compiler_vm_win32
# Serial emulation.
RUN apt-get install -y socat
RUN sed -i -e "s/\/dev\/ttyS2/\/tmp\/ttyS2/g" /opt/pbot/applets/pbot-vm/guest/bin/guest-server
RUN sed -i -e "s/\/dev\/ttyS3/\/tmp\/ttyS3/g" /opt/pbot/applets/pbot-vm/guest/bin/guest-server
# Setup the guest server.
RUN cd /opt/pbot/applets/pbot-vm/guest/bin && ls -al
RUN cd /opt/pbot/applets/pbot-vm && ./guest/bin/setup-guest
# Prefer a non-root user.
RUN useradd -ms /bin/bash vm
# Just in case files are created in the working directory.
WORKDIR /home/vm
# Single entry point for both the host and the guest.
USER vm
ENTRYPOINT ["/opt/pbot/applets/pbot-vm/entrypoint.sh"]