Skip to content

Pyload

Purpose: pyLoad-ng is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.

Detailed LinuxServer.io Deployment Info

Docker Configuration

docker-compose.yml
version: '3.9'

services:
  pyload-ng:
    image: lscr.io/linuxserver/pyload-ng:latest
    container_name: pyload-ng
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Denver
    volumes:
      - /srv/containers/pyload-ng/config:/config
      - nfs-share:/downloads
    ports:
      - 8000:8000
      - 9666:9666 #optional
    restart: unless-stopped
    networks:
      docker_network:
        ipv4_address: 192.168.5.30

volumes:
  nfs-share:
    driver: local
    driver_opts:
      type: nfs
      o: addr=192.168.3.3,nolock,soft,rw  # Options for the NFS mount
      device: ":/mnt/STORAGE/Downloads"  # NFS path on the server

networks:
  docker_network:
    external: true
  1. Set this to your own timezone.
  2. This is optional. Additional documentation needed to convey what this port is used for. Possibly API access.
  3. This assumes you want your download folder to be a SMB network share, this section allows you to connect to the share so Pyload can download content directly into the network folder. Replace the username and REDACTED password with your actual credentials. Remove the domain argument if the SMB server is not domain-joined.
  4. This is the destination network share to target with the given credentials in section 3.

NFS Mount Assumptions

The NFS folder in this example is both exported via NFS on a TrueNAS Core server, while also being exported as an NFS export. mapall user and mapall group is configured to the user and group owners of the folder set in the permissions of the dataset in TrueNAS Core. In this case, the mapall user is BUNNY-LAB\nicole.rappe and the mapall group is BUNNY-LAB\Domain Admins.

.env
N/A

Traefik Reverse Proxy Configuration

If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below.

http:
  routers:
    pyload:
      entryPoints:
        - websecure
      tls:
        certResolver: letsencrypt
      http2:
      service: pyload
      rule: Host(`pyload.bunny-lab.io`)

  services:
    pyload:
      loadBalancer:
        servers:
          - url: http://192.168.5.30:8000
        passHostHeader: true

Change Default Admin Credentials

Pyload ships with the username pyload and password pyload. Make sure you change the credentials immediately after initial login. Navigate to "Settings > Users > Pyload:"Change Password""