initial release
This commit is contained in:
commit
6415cfd7c4
20
.editorconfig
Executable file
20
.editorconfig
Executable 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
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.jenkins-external
|
64
Dockerfile
Normal file
64
Dockerfile
Normal 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
65
root/defaults/pyload.cfg
Normal 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
|
19
root/etc/cont-init.d/30-config
Normal file
19
root/etc/cont-init.d/30-config
Normal 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
|
4
root/etc/services.d/pyload/run
Normal file
4
root/etc/services.d/pyload/run
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
exec \
|
||||||
|
s6-setuidgid abc pyload --userdir /config --storagedir /downloads
|
Loading…
Reference in New Issue
Block a user