diff --git a/rtorrent/README.md b/rtorrent/README.md new file mode 100644 index 0000000..4e66531 --- /dev/null +++ b/rtorrent/README.md @@ -0,0 +1,69 @@ +# rtorrent Docker images for OpenShift + +## Description + +This project proposes ready-to-use templates to deploy rtorrent +on OpenShift. + +## Deployment + +### Base Image + +If you are on OpenShift Origin, import the `centos` image in the `openshift` namespace: + +```sh +oc import-image -n openshift centos7 --from docker.io/centos:7 --confirm --scheduled +``` + +If you are on OpenShift Container Platform, import the `rhel` image in the `openshift` namespace: + +```sh +oc import-image -n openshift rhel7 --from registry.access.redhat.com/rhel7:7.4 --confirm --scheduled +``` + +### Pre-requisites + +Open the bittorrent ports, as explained [in the OpenShift documentation](https://docs.openshift.com/container-platform/3.9/architecture/core_concepts/pods_and_services.html#service-nodeport). + +Namely, you will have to add to your `/etc/origin/master/master-config.yaml`: + +```yaml +kubernetesMasterConfig: + servicesNodePortRange: '6880-6900' +``` + +And then restart with: + +```sh +sudo systemctl restart atomic-openshift-master-controllers +sudo systemctl restart atomic-openshift-master-api +``` + +On each node that will run `rtorrent`, you will have to add an exception in the +`iptables` chain `OS_FIREWALL_ALLOW`. + +To add them permanently, use: + +```sh +cat <> /etc/sysconfig/iptables +-A OS_FIREWALL_ALLOW -m state --state NEW -p udp --dport 6881 -j ACCEPT +-A OS_FIREWALL_ALLOW -m state --state NEW -p udp --match multiport --dports 6890:6899 -j ACCEPT +-A OS_FIREWALL_ALLOW -m state --state NEW -p tcp --match multiport --dports 6890:6899 -j ACCEPT +EOF +``` + +### Deploy rtorrent + +Create all the Kubernetes objects: + +```sh +oc new-project rtorrent +oc process -f rtorrent.yaml -p NODE_IP_ADDRESS=1.2.3.4 | oc create -f - +``` + +Give an additional role to our service account to allow the oauth proxy +to authenticate users. + +```sh +oc adm policy add-cluster-role-to-user system:auth-delegator -z rtorrent -n rtorrent +``` \ No newline at end of file