-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdockerfile
52 lines (40 loc) · 1.26 KB
/
dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Duplicacy Dockerfile
FROM debian:12
# Set required environment variables
ENV DUPLICACY_PASSWORD=""
ENV DUPLICACY_B2_ID=""
ENV DUPLICACY_B2_KEY=""
ENV SNAPSHOT_ID=""
ENV B2_URL=""
# Set optional environment variables
ENV THREADS=1
ENV TZ=America/New_York
# Set fixed environment variables
ENV BACKUP_DIR=/duplicacy/backup
ENV APPDATA_DIR=/duplicacy/appdata
ENV CRON_DIR=/duplicacy/appdata/cron
ENV LOG_DIR=/duplicacy/appdata/logs
ENV CRON_DEFAULT_CONFIG=/duplicacy/cron-default.conf
ENV CRON_CONFIG=/duplicacy/appdata/cron/cron.conf
ENV LOG_BACKUP_FILE=/duplicacy/appdata/logs/duplicacy_backup.log
ENV LOG_PRUNE_FILE=/duplicacy/appdata/logs/duplicacy_prune.log
# Set working directory
WORKDIR /duplicacy
# Update and install dependencies
RUN apt update && \
apt upgrade -y && \
apt install -y bash cron wget procps vim
# Install duplicacy
RUN wget https://github.com/gilbertchen/duplicacy/releases/download/v3.2.4/duplicacy_linux_x64_3.2.4 -O /usr/local/bin/duplicacy && \
chmod +x /usr/local/bin/duplicacy
# Create root directories
RUN mkdir -p /duplicacy/backup && \
mkdir -p /duplicacy/appdata
# Set persistent volume path
VOLUME /duplicacy/appdata
# Copy files
COPY cron-default.conf .
COPY start.sh .
RUN chmod +x start.sh
# Start script
CMD ["./start.sh"]