Codice: Seleziona tutto
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now dockerCrea una directory di lavoro:
Codice: Seleziona tutto
mkdir ~/b3-docker
cd ~/b3-dockerCodice: Seleziona tutto
nano DockerfileCodice: Seleziona tutto
FROM debian:11
ENV DEBIAN_FRONTEND=noninteractive
# Installare dipendenze di sistema
RUN apt update && apt install -y \
python2 \
python2-dev \
git \
curl \
ca-certificates \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Installare pip per Python 2.7
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py && \
python2 get-pip.py && \
rm get-pip.py
# Creare l'utente b3
RUN useradd -r -m -d /opt/b3 -s /usr/sbin/nologin b3
WORKDIR /opt/b3
# Clonare il repository in una cartella temporanea e copiare i file
RUN git clone https://github.com/BigBrotherBot/big-brother-bot.git b3-src && \
cp -r b3-src/* ./ && \
rm -rf b3-src
# Installare le dipendenze esatte compatibili con Python 2.7
RUN pip2 install \
pymysql==0.6.6 \
python-dateutil==2.4.2 \
feedparser==5.1.3 \
requests==2.7.0
# Installare B3
RUN python2 setup.py install --prefix=/usr/local
# Passare all'utente b3
USER b3
Build:
Codice: Seleziona tutto
docker build -t b3:legacy .Sul host:
Codice: Seleziona tutto
sudo mkdir -p /opt/b3/conf
sudo mkdir -p /opt/b3/logs
sudo chown -R 1000:1000 /opt/b3Metti lì:
b3_cod4.xml
b3_sof2.xml
ecc.
systemd service (come ora, ma con Docker)
Codice: Seleziona tutto
nano /etc/systemd/system/b3@.serviceCodice: Seleziona tutto
[Unit]
Description=Big Brother Bot (Docker) - %i
After=docker.service network.target
Requires=docker.service
[Service]
Restart=always
RestartSec=5
ExecStart=/usr/bin/docker run --rm \
--name b3-%i \
-v /opt/b3/conf:/opt/b3/b3/conf \
-v /opt/b3/logs:/opt/b3/logs \
b3:legacy \
python2 /opt/b3/b3_run.py --restart -c /opt/b3/b3/conf/b3_%i.xml
ExecStop=/usr/bin/docker stop b3-%i
[Install]
WantedBy=multi-user.target
Codice: Seleziona tutto
sudo systemctl daemon-reloadCodice: Seleziona tutto
sudo systemctl enable b3@cod4
sudo systemctl start b3@cod4Log:
Codice: Seleziona tutto
sudo journalctl -u b3@cod4 -f
