Skip to content

hotio/duplicacy

GitHub
docker.io / ghcr.io

Starting the container

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
docker run --rm \
    --name duplicacy \
    --hostname duplicacy \
    -p 3875:3875 \
    -e PUID=1000 \
    -e PGID=1000 \
    -e UMASK=002 \
    -e TZ="Etc/UTC" \
    -v /<host_folder_config>:/config \
    -v /<host_folder_cache>:/cache \
    -v /<host_folder_logs>:/logs \
    -v /<host_folder_data>:/data \
    ghcr.io/hotio/duplicacy
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
services:
  duplicacy:
    container_name: duplicacy
    hostname: duplicacy
    image: ghcr.io/hotio/duplicacy
    ports:
      - "3875:3875"
    environment:
      - PUID=1000
      - PGID=1000
      - UMASK=002
      - TZ=Etc/UTC
    volumes:
      - /<host_folder_config>:/config
      - /<host_folder_cache>:/cache
      - /<host_folder_logs>:/logs
      - /<host_folder_data>:/data

If you don't want to enter your password every time you restart the container, you can set the environment variable DWE_PASSWORD with your password or starting with version 1.4.1 a file /config/keyring will be created that stores your password encryted if you click the checkmark on the login page.

Tags

Tags Description Last Updated Age

WireGuard

Info

This image includes VPN support. The cli/compose examples below are environment variables and settings complementary to the app image examples, this means you'll have to add/merge the stuff below with the stuff above. In case you are still in need of a VPN, consider using my affiliate links for Proton VPN, Proton Mail, Proton Drive, Proton Pass or Private Internet Access.

ProtonVPN PiaVPN

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
docker run --rm \
    --hostname container-name.internal \ #
    -e VPN_ENABLED="true" \ #
    -e VPN_CONF="wg0" \ #
    -e VPN_PROVIDER="generic" \ #
    -e VPN_LAN_NETWORK="192.168.1.0/24" \ #
    -e VPN_LAN_LEAK_ENABLED="false" \ #
    -e VPN_EXPOSE_PORTS_ON_LAN="" \ #
    -e VPN_AUTO_PORT_FORWARD="false" \ #
    -e VPN_AUTO_PORT_FORWARD_TO_PORTS="" \ #
    -e VPN_FIREWALL_TYPE="auto" \ #
    -e VPN_HEALTHCHECK_ENABLED="false" \ #
    -e VPN_NAMESERVERS="" \ #
    -e PRIVOXY_ENABLED="false" \ #
    -e UNBOUND_ENABLED="false" \ #
    -e UNBOUND_NAMESERVERS="" \ #
    --cap-add=NET_ADMIN \
    --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ #
    --sysctl="net.ipv6.conf.all.disable_ipv6=1" \ #
    --device /dev/net/tun:/dev/net/tun \ # OPTIONAL
    ...
 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
services:
  app:
    hostname: container-name.internal #
    environment:
      - VPN_ENABLED=true #
      - VPN_CONF=wg0 #
      - VPN_PROVIDER=generic #
      - VPN_LAN_NETWORK=192.168.1.0/24 #
      - VPN_LAN_LEAK_ENABLED=false #
      - VPN_EXPOSE_PORTS_ON_LAN #
      - VPN_AUTO_PORT_FORWARD=false #
      - VPN_AUTO_PORT_FORWARD_TO_PORTS= #
      - VPN_FIREWALL_TYPE=auto #
      - VPN_HEALTHCHECK_ENABLED=false #
      - VPN_NAMESERVERS= #
      - PRIVOXY_ENABLED=false #
      - UNBOUND_ENABLED=false #
      - UNBOUND_NAMESERVERS #
    cap_add:
      - NET_ADMIN
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1 #
      - net.ipv6.conf.all.disable_ipv6=1 #
    devices:
      - /dev/net/tun:/dev/net/tun # OPTIONAL
    ...
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
docker run --rm \
    --hostname container-name.internal \ #
    -e VPN_ENABLED="true" \ #
    -e VPN_CONF="wg0" \ #
    -e VPN_PROVIDER="proton" \ #
    -e VPN_LAN_NETWORK="192.168.1.0/24" \ #
    -e VPN_LAN_LEAK_ENABLED="false" \ #
    -e VPN_EXPOSE_PORTS_ON_LAN="" \ #
    -e VPN_AUTO_PORT_FORWARD="true" \ #
    -e VPN_AUTO_PORT_FORWARD_TO_PORTS="" \ #
    -e VPN_FIREWALL_TYPE="auto" \ #
    -e VPN_HEALTHCHECK_ENABLED="false" \ #
    -e VPN_NAMESERVERS="" \ #
    -e PRIVOXY_ENABLED="false" \ #
    -e UNBOUND_ENABLED="false" \ #
    -e UNBOUND_NAMESERVERS="" \ #
    --cap-add=NET_ADMIN \
    --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ #
    --sysctl="net.ipv6.conf.all.disable_ipv6=1" \ #
    --device /dev/net/tun:/dev/net/tun \ # OPTIONAL
    ...
 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
services:
  app:
    hostname: container-name.internal #
    environment:
      - VPN_ENABLED=true #
      - VPN_CONF=wg0 #
      - VPN_PROVIDER=proton #
      - VPN_LAN_NETWORK=192.168.1.0/24 #
      - VPN_LAN_LEAK_ENABLED=false #
      - VPN_EXPOSE_PORTS_ON_LAN #
      - VPN_AUTO_PORT_FORWARD=true #
      - VPN_AUTO_PORT_FORWARD_TO_PORTS= #
      - VPN_FIREWALL_TYPE=auto #
      - VPN_HEALTHCHECK_ENABLED=false #
      - VPN_NAMESERVERS= #
      - PRIVOXY_ENABLED=false #
      - UNBOUND_ENABLED=false #
      - UNBOUND_NAMESERVERS #
    cap_add:
      - NET_ADMIN
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1 #
      - net.ipv6.conf.all.disable_ipv6=1 #
    devices:
      - /dev/net/tun:/dev/net/tun # OPTIONAL
    ...
 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
docker run --rm \
    --hostname container-name.internal \ #
    -e VPN_ENABLED="true" \ #
    -e VPN_CONF="wg0" \ #
    -e VPN_PROVIDER="pia" \ #
    -e VPN_LAN_NETWORK="192.168.1.0/24" \ #
    -e VPN_LAN_LEAK_ENABLED="false" \ #
    -e VPN_EXPOSE_PORTS_ON_LAN="" \ #
    -e VPN_AUTO_PORT_FORWARD="true" \ #
    -e VPN_AUTO_PORT_FORWARD_TO_PORTS="" \ #
    -e VPN_FIREWALL_TYPE="auto" \ #
    -e VPN_HEALTHCHECK_ENABLED="false" \ #
    -e VPN_NAMESERVERS="" \ #
    -e VPN_PIA_USER="" \ #
    -e VPN_PIA_PASS="" \ #
    -e VPN_PIA_PREFERRED_REGION="" \ #
    -e VPN_PIA_DIP_TOKEN="no" \ #
    -e VPN_PIA_PORT_FORWARD_PERSIST="false" \ #
    -e PRIVOXY_ENABLED="false" \ #
    -e UNBOUND_ENABLED="false" \ #
    -e UNBOUND_NAMESERVERS="" \ #
    --cap-add=NET_ADMIN \
    --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ #
    --sysctl="net.ipv6.conf.all.disable_ipv6=1" \ #
    --device /dev/net/tun:/dev/net/tun \ # OPTIONAL
    ...
 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
services:
  app:
    hostname: container-name.internal #
    environment:
      - VPN_ENABLED=true #
      - VPN_CONF=wg0 #
      - VPN_PROVIDER=pia #
      - VPN_LAN_NETWORK=192.168.1.0/24 #
      - VPN_LAN_LEAK_ENABLED=false #
      - VPN_EXPOSE_PORTS_ON_LAN #
      - VPN_AUTO_PORT_FORWARD=true #
      - VPN_AUTO_PORT_FORWARD_TO_PORTS= #
      - VPN_FIREWALL_TYPE=auto #
      - VPN_HEALTHCHECK_ENABLED=false #
      - VPN_NAMESERVERS= #
      - VPN_PIA_USER #
      - VPN_PIA_PASS #
      - VPN_PIA_PREFERRED_REGION #
      - VPN_PIA_DIP_TOKEN=no #
      - VPN_PIA_PORT_FORWARD_PERSIST=false #
      - PRIVOXY_ENABLED=false #
      - UNBOUND_ENABLED=false #
      - UNBOUND_NAMESERVERS #
    cap_add:
      - NET_ADMIN
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1 #
      - net.ipv6.conf.all.disable_ipv6=1 #
    devices:
      - /dev/net/tun:/dev/net/tun # OPTIONAL
    ...