hive-apps/projects/downloader/values/rtorrent.yaml
2021-11-17 14:38:59 +01:00

129 lines
3.8 KiB
YAML

env:
# -- Set the container timezone
TZ: UTC
# -- Folder where Flood stores it's configuration
HOME: "/config"
# -- The host that Flood should listen for web connections on
FLOOD_OPTION_HOST: "0.0.0.0"
# -- The port that Flood should listen for web connections on
FLOOD_OPTION_PORT: "3000"
# -- ADVANCED: rTorrent daemon managed by Flood
FLOOD_OPTION_RTORRENT: "true"
# -- Allowed path for file operations
FLOOD_OPTION_ALLOWEDPATH: "/downloads"
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 3000
bittorrent:
enabled: true
type: ClusterIP
ports:
bittorrent:
enabled: true
port: 6881
protocol: TCP
targetPort: 6881
# -- Minimal configuration provided from https://github.com/jesec/rtorrent/blob/master/doc/rtorrent.rc
# @default -- string
config: |
session.use_lock.set = no
method.insert = cfg.basedir, private|const|string, (cat,(fs.homedir),"/.local/share/rtorrent/")
method.insert = cfg.download, private|const|string, (cat,"/downloads/","download/")
method.insert = cfg.logs, private|const|string, (cat,(cfg.download),"log/")
method.insert = cfg.logfile, private|const|string, (cat,(cfg.logs),"rtorrent-",(system.time),".log")
method.insert = cfg.session, private|const|string, (cat,(cfg.basedir),".session/")
method.insert = cfg.watch, private|const|string, (cat,(cfg.download),"watch/")
fs.mkdir.recursive = (cat,(cfg.basedir))
fs.mkdir = (cat,(cfg.download))
fs.mkdir = (cat,(cfg.logs))
fs.mkdir = (cat,(cfg.session))
fs.mkdir = (cat,(cfg.watch))
fs.mkdir = (cat,(cfg.watch),"/load")
fs.mkdir = (cat,(cfg.watch),"/start")
schedule2 = watch_load, 11, 10, ((load.verbose, (cat, (cfg.watch), "load/*.torrent")))
schedule2 = watch_start, 10, 10, ((load.start_verbose, (cat, (cfg.watch), "start/*.torrent")))
dht.add_bootstrap = dht.transmissionbt.com:6881
dht.add_bootstrap = dht.libtorrent.org:25401
throttle.max_uploads.set = 20
throttle.max_uploads.global.set = 50
throttle.min_peers.normal.set = 20
throttle.max_peers.normal.set = 60
throttle.min_peers.seed.set = 30
throttle.max_peers.seed.set = 80
trackers.numwant.set = 80
network.port_range.set = 61086-61086
network.max_open_files.set = 600
network.max_open_sockets.set = 300
pieces.memory.max.set = 1800M
session.path.set = (cat, (cfg.session))
directory.default.set = (cat, (cfg.download))
log.execute = (cat, (cfg.logs), "execute.log")
encoding.add = utf8
system.daemon.set = true
system.umask.set = 0002
system.cwd.set = (directory.default)
network.http.max_open.set = 500
network.http.dns_cache_timeout.set = 25
network.scgi.open_local = (cat,(cfg.basedir),rtorrent.sock)
print = (cat, "Logging to ", (cfg.logfile))
log.open_file = "log", (cfg.logfile)
log.add_output = "info", "log"
ingress:
main:
enabled: true
annotations:
cert-manager.io/cluster-issuer: "vault-issuer"
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/proxy-body-size: 50m
hosts:
- host: flood.dc
paths:
- path: /
pathType: Prefix
tls:
- secretName: flood.dc-tls
hosts:
- flood.dc
persistence:
config:
enabled: true
mountPath: /config
size: 10M
# use hostpath instead
downloads:
enabled: true
type: hostPath
hostPath: /data/torrent
mountPath: /downloads
## VPN
addons:
vpn:
enabled: true
openvpn:
authSecret: openvpn
configFileSecret: openvpn
securityContext:
capabilities:
add:
- NET_ADMIN
- SYS_MODULE
livenessProbe:
exec:
command:
- sh
- -c
- if [ $(curl -s https://ipinfo.io/country) == 'NL' ]; then exit 0; else exit $?; fi
initialDelaySeconds: 30
periodSeconds: 60
failureThreshold: 3