Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luckylittle/ansible-role-zero-footprint-rut-seedbox
ansible-role-zero-footprint-ruT-seedbox
https://github.com/luckylittle/ansible-role-zero-footprint-rut-seedbox
ansible ansible-role centos fail2ban fedora libtorrent lightweight no-logs redhat rhel rhel8 rtorrent rutorrent secure security seedbox selinux torrent torrents vsftpd
Last synced: 26 days ago
JSON representation
ansible-role-zero-footprint-ruT-seedbox
- Host: GitHub
- URL: https://github.com/luckylittle/ansible-role-zero-footprint-rut-seedbox
- Owner: luckylittle
- License: mit
- Created: 2022-07-21T07:11:38.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-01T10:50:03.000Z (about 1 month ago)
- Last Synced: 2025-01-01T11:28:57.458Z (about 1 month ago)
- Topics: ansible, ansible-role, centos, fail2ban, fedora, libtorrent, lightweight, no-logs, redhat, rhel, rhel8, rtorrent, rutorrent, secure, security, seedbox, selinux, torrent, torrents, vsftpd
- Language: Jinja
- Homepage: https://galaxy.ansible.com/ui/standalone/roles/luckylittle/zero-footprint-ruT-seedbox/
- Size: 49.8 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
ansible-role-zero-footprint-ruT-seedbox
=========Configures vanilla RHEL system to be lightweight and bulletproof seedbox running rTorrent and ruTorrent. It aims to be secure (SELinux, SSL, Fail2Ban enabled) and creates very few logs (zero footprint).
Requirements
------------* It is expected, that you have a brand new RHEL system and have Ansible access sorted out - including working `sudo`. You can use my role [luckylittle/ansible-role-create-user](https://github.com/luckylittle/ansible-role-create-user) for passwordless SSH access and sudo.
Role Variables
--------------`defaults/main.yml`:
* `set_timezone` - change the time zone of the server
* `set_google_dns` - if `true`, it will add Google DNS to the primary interface
* `epel_dl` - URL of the EPEL RPM
* `xmlrpc_dl` - URL of the XMLRPC
* `libtorrent_dl` - URL of the libtorrent
* `rtorrent_dl` - URL of the rtorrent
* `rtorrent_port` - what port should rtorrent listen on
* `rt_memory_max_set` - how much memory should rTorrent use by default. It is using 75% of your total memory by default.
* `ftp_port` - what port should vsftpd listen on
* `pasv_port_range` - what port range should be used for FTP PASV
* `single_user` - when `true` only one FTP user will be used and it is the same username who runs this playbook. When `false`, [this](files/vsftpd/users.txt) file is used
* `rutorrent_dl` - URL of the ruTorrent
* `https_port` - what port should rutorrent listen on
* `htpasswd` - HTTP basic password to log in to ruTorrent interface
* `fail2ban_ignore_ipv4` - what IPv4 address should be excluded from being banned by Fail2Ban
* `require_reboot` - does the machine require reboot after the playbook is finished_Note:_ Lot of the tasks rely on `remote_user` / `ansible_user` variable (user who logs in to the remote machine via Ansible). For example, it creates directory structure under that user.
Dependencies
------------None
Example Playbook
----------------`echo 'password1' > password`
`ansible-playbook -i inventory --vault-password-file=password site.yml`
```ini
[seedbox]
123.124.125.126
``````yaml
---
- hosts: seedbox
remote_user: redhat
roles:
- ansible-role-zero-footprint-ruT-seedbox
```Testing
-------On a brand new RHEL8.6, 1x vCPU, 4GB RAM playbook took 18m 32s to finish.
License
-------MIT
Author Information
------------------Lucian Maly <>