initial release

This commit is contained in:
aptalca 2022-01-24 11:20:57 -05:00
commit 6415cfd7c4
6 changed files with 173 additions and 0 deletions

20
.editorconfig Executable file
View File

@ -0,0 +1,20 @@
# This file is globally distributed to all container image projects from
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
trim_trailing_whitespace = false
[{Dockerfile*,**.yml}]
indent_style = space
indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.jenkins-external

64
Dockerfile Normal file
View File

@ -0,0 +1,64 @@
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PYLOAD_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
ENV HOME="/config"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
build-base \
cargo \
curl-dev \
libffi-dev \
libjpeg-turbo-dev \
openssl-dev \
python3-dev \
zlib-dev && \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
libjpeg-turbo \
py3-pip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
${HOME}/.cache \
${HOME}/.cargo
# add local files
COPY root/ /
# ports and volumes
EXPOSE 8000
VOLUME /config

65
root/defaults/pyload.cfg Normal file
View File

@ -0,0 +1,65 @@
version: 2
general - "General":
en; language : "Language" = en
folder storage_folder : "Download Folder" = /downloads
bool debug_mode : "Debug Mode" = True
debug;trace;stack debug_level : "Debug Level" = trace
int min_free_space : "Min Free Space in MiB" = 1024
bool folder_per_package : "Create folder for each package" = True
permission - "Permissions":
bool change_user : "Change user of running process" = False
str user : "Username" = abc
str folder : "Folder Permission mode" = 0755
bool change_file : "Change file mode of downloads" = False
str file : "Filemode for Downloads" = 0644
bool change_group : "Change group of running process" = False
str group : "Groupname" = abc
bool change_dl : "Change Group and User of Downloads" = False
download - "Download":
int chunks : "Max connections for one download" = 3
int max_downloads : "Max Parallel Downloads" = 3
int max_speed : "Max Download Speed in KiB/s" = -1
bool limit_speed : "Limit Download Speed" = False
ip interface : "Download interface to bind (IP Address)" =
bool ipv6 : "Allow IPv6" = False
bool skip_existing : "Skip already existing files" = False
time start_time : "Start" = 0:00
time end_time : "End" = 0:00
reconnect - "Reconnection":
bool enabled : "Activated" = False
str script : "Script" =
time start_time : "Start" = 0:00
time end_time : "End" = 0:00
webui - "Web Interface":
bool enabled : "Activated" = True
bool use_ssl : "Use HTTPS" = False
bool develop : "Development mode" = False
file ssl_certfile : "SSL Certificate" = ssl.crt
file ssl_keyfile : "SSL Key" = ssl.key
file ssl_certchain : "CA's intermediate certificate bundle (optional)" =
ip host : "IP Address" = 0.0.0.0
int port : "Port" = 8000
Default;modern;pyplex theme : "Theme" = pyplex
bool autologin : "Skip login if single user" = False
str prefix: "Path Prefix" =
proxy - "Proxy":
bool enabled : "Activated" = False
ip host : "IP Address" = localhost
int port : "Port" = 7070
http;socks4;socks5 type : "Protocol" = http
str username : "Username" =
password password : "Password" =
log - "Log":
bool console : "Print log to console" = True
bool console_color : "Colorize console" = False
bool syslog : "Sent log to syslog" = False
local;remote syslog_location : "Syslog location" = local
folder syslog_folder : "Syslog local folder" =
ip syslog_host : "Syslog remote IP Address" = localhost
int syslog_port : "Syslog remote Port" = 514
bool filelog : "Save log to file" = True
int filelog_size : "Max file size (in KiB)" = 5120
folder filelog_folder : "File folder" =
int filelog_entries : "Max log files" = 10
bool filelog_rotate : "Log rotate" = True

View File

@ -0,0 +1,19 @@
#!/usr/bin/with-contenv bash
# create our folders
mkdir -p \
/config/settings \
/downloads
# default config file
[[ ! -f "/config/settings/pyload.cfg" ]] && \
cp \
/defaults/pyload.cfg \
/config/settings/pyload.cfg
# permissions
echo "[cont-init.d] Setting permissions this may take some time"
chown -R abc:abc \
/config
chown abc:abc \
/downloads

View File

@ -0,0 +1,4 @@
#!/usr/bin/with-contenv bash
exec \
s6-setuidgid abc pyload --userdir /config --storagedir /downloads