2025-03-07 22:24:27 +01:00
|
|
|
FROM python:3.13-slim
|
2025-04-18 23:32:15 +02:00
|
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
2024-11-28 23:20:19 +01:00
|
|
|
|
|
|
|
|
WORKDIR /opt/tisbackup
|
|
|
|
|
|
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
|
|
|
COPY . /opt/tisbackup
|
2025-04-18 23:57:44 +02:00
|
|
|
|
2025-04-18 23:48:25 +02:00
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
ENV UV_PROJECT_ENVIRONMENT=/usr/local
|
2025-04-18 23:57:44 +02:00
|
|
|
ENV UV_PYTHON_DOWNLOADS=never
|
2024-11-28 23:20:19 +01:00
|
|
|
|
2025-04-18 23:32:15 +02:00
|
|
|
RUN apt-get update && apt-get upgrade -y \
|
2024-11-29 00:48:59 +01:00
|
|
|
&& apt-get install --no-install-recommends -y rsync ssh cron \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/* \
|
2025-04-18 23:57:44 +02:00
|
|
|
&& uv sync --locked --no-dev --no-install-project \
|
|
|
|
|
&& rm -f /bin/uv /bin/uvx \
|
2024-11-29 00:48:59 +01:00
|
|
|
&& mkdir -p /var/spool/cron/crontabs \
|
2024-11-28 23:20:19 +01:00
|
|
|
&& echo '59 03 * * * root /bin/bash /opt/tisbackup/backup.sh' > /etc/crontab \
|
|
|
|
|
&& echo '' >> /etc/crontab \
|
|
|
|
|
&& crontab /etc/crontab
|
|
|
|
|
|
|
|
|
|
EXPOSE 8080
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
2025-03-07 22:24:27 +01:00
|
|
|
CMD ["/usr/local/bin/python3.13","/opt/tisbackup/tisbackup_gui.py"]
|