first commit of bot config

This commit is contained in:
2025-10-20 15:47:20 -07:00
parent c8cc8f25bd
commit 39d5ad4b52
7 changed files with 251 additions and 50 deletions

View File

@@ -1,37 +1,35 @@
# Use LinuxServer.io Duplicati base
FROM ghcr.io/linuxserver/duplicati:2.1.0
ENV DEBIAN_FRONTEND=noninteractive
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN apt-get update -y \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gnupg \
lsb-release \
btrfs-progs \
#&& rm -rf /var/lib/apt/lists/* \
&& install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc \
&& chmod a+r /etc/apt/keyrings/docker.asc \
&& echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null \
&& apt-get update -y \
&& apt-get install -y --no-install-recommends \
cron \
# Install Docker CLI, bash, python3
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
bash \
docker-ce-cli \
postgresql-client \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /backups
python3 \
python3-pip \
docker.io \
ca-certificates curl && \
rm -rf /var/lib/apt/lists/*
# Create directories for backup scripts and logs
RUN mkdir -p /usr/local/bin /config/log /config/web /etc/services/backupbot
# Copy backup script
COPY backup.sh /usr/local/bin/backup.sh
RUN chmod +x /usr/local/bin/backup.sh \
&& mkdir -p /etc/services.d/backupbot
COPY services/backupbot/run /etc/services.d/backupbot/run
RUN chmod +x /etc/services.d/backupbot/run
RUN chmod +x /usr/local/bin/backup.sh
# Copy the environment variables for the config
COPY backupbot.env /config/backupbot.env
# Copy s6 service for backupbot
COPY services/backupbot/run /etc/services/backupbot/run
RUN chmod +x /etc/services/backupbot/run
# Copy web frontend
COPY web/ /config/web/
RUN chmod +x /config/web/backupbot.cgi
# Expose web frontend port
EXPOSE 8080
# Keep duplicati entrypoint
ENTRYPOINT ["/init"]