mirror of
https://github.com/pragma-/pbot.git
synced 2025-12-13 12:17:22 +01:00
Updated Dockerfile with notes.
This commit is contained in:
parent
f246a7c329
commit
3642bbdd22
27
Dockerfile
27
Dockerfile
@ -1,22 +1,31 @@
|
|||||||
FROM perl:5.34
|
FROM perl:5.34
|
||||||
|
|
||||||
# Install system dependencies.
|
# Install system dependencies.
|
||||||
RUN apt-get update && apt-get install -y cpanminus wamerican
|
RUN apt-get update && apt-get install -y libssl-dev libexpat1-dev zlib1g libdbd-sqlite3-perl cpanminus wamerican pip
|
||||||
|
|
||||||
# Install pbot and its own dependencies.
|
# Prefer a non-root user.
|
||||||
# FIXME: Replace nitrix with pragma-.
|
RUN useradd -ms /bin/bash pbot
|
||||||
RUN cd /opt && git clone --recursive https://github.com/nitrix/pbot
|
|
||||||
|
# Install pbot and its own dependencies (replace nitrix with pragma- eventually).
|
||||||
|
RUN cd /opt && git clone --recursive --depth=1 https://github.com/nitrix/pbot
|
||||||
|
|
||||||
|
# Perl dependencies.
|
||||||
|
RUN cpanm --local-lib=/home/pbot/perl5 local::lib && eval $(perl -I /home/pbot/perl5/lib/perl5/ -Mlocal::lib)
|
||||||
RUN cd /opt/pbot && cpanm -n --installdeps . --with-all-features --without-feature=compiler_vm_win32
|
RUN cd /opt/pbot && cpanm -n --installdeps . --with-all-features --without-feature=compiler_vm_win32
|
||||||
|
|
||||||
|
# Translate shell.
|
||||||
|
RUN sed -i 's/^Components: main$/& contrib/' /etc/apt/sources.list.d/debian.sources
|
||||||
|
RUN apt-get update && apt-get install -y libfribidi0 libfribidi-bin gawk libsigsegv2 translate-shell
|
||||||
|
|
||||||
|
# Wiktionary parser.
|
||||||
|
RUN pip install git+https://github.com/pragma-/WiktionaryParser --break-system-packages
|
||||||
|
|
||||||
# Mount point to persist the bot's data.
|
# Mount point to persist the bot's data.
|
||||||
RUN mkdir /mnt/persistent
|
RUN mkdir /mnt/persistent
|
||||||
|
|
||||||
# Prefer a non-root user to run the bot.
|
|
||||||
RUN useradd -ms /bin/bash pbot
|
|
||||||
USER pbot
|
|
||||||
|
|
||||||
# Just in case files are created in the working directory.
|
# Just in case files are created in the working directory.
|
||||||
WORKDIR /home/pbot
|
WORKDIR /home/pbot
|
||||||
|
|
||||||
# Executable.
|
# Entry point, running the executable as pbot user.
|
||||||
|
USER pbot
|
||||||
ENTRYPOINT /opt/pbot/bin/pbot
|
ENTRYPOINT /opt/pbot/bin/pbot
|
||||||
14
Dockerfile.guest
Normal file
14
Dockerfile.guest
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
FROM debian:bookworm
|
||||||
|
|
||||||
|
# Install system dependencies.
|
||||||
|
RUN apt-get update && apt-get install -y clang gcc clang g++ tcl ghc
|
||||||
|
|
||||||
|
# Prefer a non-root user to run the guest.
|
||||||
|
RUN useradd -ms /bin/bash dummy
|
||||||
|
USER dummy
|
||||||
|
|
||||||
|
# Just in case files are created in the working directory.
|
||||||
|
WORKDIR /home/dummy
|
||||||
|
|
||||||
|
# Executable.
|
||||||
|
ENTRYPOINT /usr/bin/bash
|
||||||
Loading…
x
Reference in New Issue
Block a user