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