Skip to content

Instantly share code, notes, and snippets.

@jerrac
Last active May 9, 2018 22:22
Show Gist options
  • Save jerrac/e5cfb05d4eb7b468009d7095d8aa83d8 to your computer and use it in GitHub Desktop.
Save jerrac/e5cfb05d4eb7b468009d7095d8aa83d8 to your computer and use it in GitHub Desktop.
Basic Duplicati in Docker files
version: "3.3"
networks:
dupnet:
driver: bridge
driver_opts:
com.docker.network.bridge.name: dupnet
services:
duplicati:
build: .
image: registry.internal.blah/duplicati:latest
volumes:
- type: bind
source: ./data/duplicati
target: /data/duplicati
- type: bind
source: /path/to/data1
target: /data/backup/data1
read_only: True
- type: bind
source: /path/to/data2
target: /data/backup/drupaldata
read_only: True
ports:
- "127.0.0.1:8200:8200"
networks:
- dupnet
restart: always
entrypoint: duplicati-server --webservice-interface="any" --server-datafolder="/data/duplicati"
FROM debian:stretch
RUN apt-get update \
&& apt-get -y --no-install-recommends install \
libmono-system-net4.0-cil \
libmono-system-net-http4.0-cil \
libmono-system-net-http-webrequest4.0-cil \
libmono-system-servicemodel4.0a-cil \
libmono-system-servicemodel-discovery4.0-cil \
libmono-system-serviceprocess4.0-cil \
libmono-microsoft-csharp4.0-cil \
libmono-2.0.1 \
libappindicator3-0.1-cil \
gtk-sharp2 \
ca-certificates \
ca-certificates-mono \
&& rm -rf /var/lib/apt/lists/*
COPY files/duplicati*.deb /tmp/duplicati.deb
RUN dpkg -i /tmp/duplicati.deb \
&& rm /tmp/duplicati.deb
RUN mkdir --parents {/data/duplicati,/data/backup}
# Applied using Anisble role https://github.com/LaneCommunityCollege/aspects_iptables
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o {{ ansible_default_ipv4.interface }} -j MASQUERADE
COMMIT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o {{ ansible_default_ipv4.interface }} -j ACCEPT
-A FORWARD -i {{ ansible_default_ipv4.interface }} -o docker0 -j ACCEPT
-A FORWARD -i dupnet -o dupnet -j ACCEPT
-A FORWARD -i {{ ansible_default_ipv4.interface }} -o dupnet -j ACCEPT
-A FORWARD -i dupnet -o {{ ansible_default_ipv4.interface }} -j ACCEPT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment