Re-Structured Documentation
This commit is contained in:
		
							
								
								
									
										78
									
								
								Servers/Containerization/Docker/Compose/Pyload.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								Servers/Containerization/Docker/Compose/Pyload.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,78 @@ | ||||
| **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](https://docs.linuxserver.io/images/docker-pyload-ng/) | ||||
|  | ||||
|  | ||||
| ## Docker Configuration | ||||
| ```jsx title="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. | ||||
|  | ||||
| !!! note "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`. | ||||
|  | ||||
| ```jsx title=".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. | ||||
| ``` yaml | ||||
| 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 | ||||
| ``` | ||||
|  | ||||
| !!! warning "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"**" | ||||
		Reference in New Issue
	
	Block a user