mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
commit
6b72abdd86
8 changed files with 108 additions and 46 deletions
|
@ -13,13 +13,13 @@
|
|||
line: ' <policy domain="coder" rights="read" pattern="PDF" />'
|
||||
state: present
|
||||
|
||||
- name: "Create 3 Calibre-Web folders to store data and config files: {{ calibreweb_home }}, {{ calibreweb_venv_path }}, {{ calibreweb_config }} (all set to {{ calibreweb_user }}:{{ apache_user }}, '0755')"
|
||||
- name: "Create 3 Calibre-Web folders to store data and config files: {{ calibreweb_home }}, {{ calibreweb_venv_path }}, {{ calibreweb_config }} (all set to {{ calibreweb_user }}:{{ apache_user }})"
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: "{{ calibreweb_user }}" # root
|
||||
group: "{{ apache_user }}" # www-data on debuntu
|
||||
mode: '0755'
|
||||
#mode: '0755'
|
||||
with_items:
|
||||
- "{{ calibreweb_home }}" # /library/calibre-web
|
||||
- "{{ calibreweb_config }}" # /library/calibre-web/config
|
||||
|
@ -74,7 +74,7 @@
|
|||
dest: "{{ calibreweb_home }}" # /library/calibre-web
|
||||
owner: "{{ calibreweb_user }}" # root
|
||||
group: "{{ apache_user }}" # www-data on debuntu
|
||||
mode: '0644'
|
||||
#mode: '0644'
|
||||
backup: yes
|
||||
with_items:
|
||||
- roles/calibre-web/files/metadata.db
|
||||
|
@ -88,7 +88,7 @@
|
|||
dest: "{{ calibreweb_config }}" # /library/calibre-web/config
|
||||
owner: "{{ calibreweb_user }}" # root
|
||||
group: "{{ apache_user }}" # www-data on debuntu
|
||||
mode: '0644'
|
||||
#mode: '0644'
|
||||
backup: yes
|
||||
when: not metadatadb.stat.exists
|
||||
#when: calibreweb_provision
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
timeout: "{{ download_timeout }}"
|
||||
when: internet_available
|
||||
|
||||
# 2020-01-19: https://github.com/piwheels/packages/issues/74 says the following is not longer needed...
|
||||
# 2020-01-19: https://github.com/piwheels/packages/issues/74 says the following is no longer needed...
|
||||
#- name: Run 'mv /etc/pip.conf /etc/pip.conf.see-iiab-issue-2139' as "TEMPORARY" workaround (2020-01-17) for piwheels.org's setuptools Python 2/3 brokenness on RPi (https://github.com/iiab/iiab/issues/2139)
|
||||
# command: mv /etc/pip.conf /etc/pip.conf.see-iiab-issue-2139
|
||||
# ignore_errors: yes
|
||||
|
@ -31,7 +31,7 @@
|
|||
when: not (is_debian_9 or is_debian_10 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18 or is_ubuntu_19)
|
||||
# long form of (is_debian_11+ or is_ubuntu_20+)
|
||||
|
||||
- name: Use pip to install KA Lite static to {{ kalite_venv }}
|
||||
- name: Use pip to install ka-lite-static to {{ kalite_venv }}
|
||||
pip:
|
||||
name: ka-lite-static
|
||||
version: "{{ kalite_version }}"
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
.. |ss| raw:: html
|
||||
|
||||
<strike>
|
||||
|
||||
.. |se| raw:: html
|
||||
|
||||
</strike>
|
||||
|
||||
.. |nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
===================
|
||||
Transmission README
|
||||
===================
|
||||
|
@ -17,30 +28,24 @@ Caveat emptor! (That's Latin for "Buyer Beware")
|
|||
Using It
|
||||
--------
|
||||
|
||||
Install Transmission by setting 'transmission_install' and 'transmission_enabled' to True in `/etc/iiab/local_vars.yml <http://wiki.laptop.org/go/IIAB/local_vars.yml>`_ — carefully choosing language(s) for KA Lite videos you want to download — and then run::
|
||||
Install Transmission by setting 'transmission_install' and 'transmission_enabled' to True in `/etc/iiab/local_vars.yml <http://wiki.laptop.org/go/IIAB/local_vars.yml>`_ — carefully choosing language(s) for KA Lite videos you want to download — and then install IIAB. Or, if IIAB is already installed, run as root::
|
||||
|
||||
cd /opt/iiab/iiab
|
||||
./runrole transmission
|
||||
./iiab-network
|
||||
|
||||
Or if you prefer a complete reinstall of IIAB::
|
||||
|
||||
cd /opt/iiab/iiab
|
||||
./iiab-install --reinstall
|
||||
|
||||
Login to Transmission's web interface http://box:9091 using administrative account::
|
||||
Log in to Transmission's web interface http://box:9091 using administrative account::
|
||||
|
||||
Username: Admin
|
||||
Password: changeme
|
||||
|
||||
Alternatively, you can run ``transmission-remote`` at the command-line.
|
||||
If you prefer the command-line, you can instead run `transmission-remote <https://linux.die.net/man/1/transmission-remote>`_ commands.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Configure Transmission using its web interface: http://box:9091
|
||||
|
||||
More settings can be changed within /etc/transmission-daemon/settings.json if you first ensure that the transmission-daemon.service is stopped::
|
||||
More settings can be changed within `/etc/transmission-daemon/settings.json <https://github.com/holta/iiab/blob/transmission-settings/roles/transmission/templates/settings.json.j2>`_ if you first ensure that the transmission-daemon.service is stopped::
|
||||
|
||||
systemctl stop transmission-daemon
|
||||
|
||||
|
@ -48,12 +53,14 @@ Then edit the file::
|
|||
|
||||
nano /etc/transmission-daemon/settings.json
|
||||
|
||||
Here are some short explanations, as to what those 70+ variables mean: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files
|
||||
Here are some short explanations, as to what those ~68 variables mean: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files
|
||||
|
||||
After saving your changes in 'settings.json' restart Transmission by running::
|
||||
After saving your changes in 'settings.json', restart Transmission by running::
|
||||
|
||||
systemctl restart transmission-daemon
|
||||
|
||||
*2021-03-14: Transmission 2.94 and 3.00 were intermittently* **ignoring** */etc/transmission-daemon/settings.json (presumably when the file was deemed problematic/missing/etc) and creating their own* ``/var/lib/transmission-daemon/.config/transmission-daemon/settings.json`` *(i.e. suddenly a FILE instead of transmission-deamon's out-of-the-box SYMLINK to /etc/transmission-daemon/settings.json). IIAB* `PR #2707 <https://github.com/iiab/iiab/pull/2707>`_ *should fix this problem, by reversing the direction of the symlink created by apt. See* `Troubleshooting <./README.rst#Troubleshooting>`_ *below.*
|
||||
|
||||
Adding Torrents
|
||||
---------------
|
||||
|
||||
|
@ -61,16 +68,16 @@ Transmission can facilitate provisioning content onto your IIAB, e.g. by adding
|
|||
|
||||
Please read the lettered instructions (A, B, C, D) in `/etc/iiab/local_vars.yml <http://wiki.laptop.org/go/IIAB/local_vars.yml>`_ and 'KA Lite Administration: What tips & tricks exist?' at http://FAQ.IIAB.IO outlining how to use Transmission to download and then install KA Lite content.
|
||||
|
||||
You can also download other torrents using Transmission's web interface, or by typing 'transmission-remote' at the command-line::
|
||||
You can also download other torrents using Transmission's web interface, or by typing `transmission-remote <https://linux.die.net/man/1/transmission-remote>`_ at the command-line::
|
||||
|
||||
transmission-remote -a <path_to_the.torrent>
|
||||
transmission-remote -n Admin:changeme -a <URL-or-local-path.torrent>
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
* Default Transmission user/group may need fixing (https://github.com/transmission/transmission/issues/537) in some circumstances. You can set Ansible variables 'transmission_user' and 'transmission_group' e.g. in /opt/iiab/iiab/roles/transmission/defaults/main.yml (you might need 'User=' and 'Group=' in systemd unit file /lib/systemd/system/transmission-daemon.service — e.g. both might need to be set to 'debian-transmission' — if so then run 'systemctl daemon-reload' and 'systemctl restart transmission-daemon').
|
||||
* |ss| Default Transmission user/group may need fixing (https://github.com/transmission/transmission/issues/537) in some circumstances. You can set Ansible variables 'transmission_user' and 'transmission_group' e.g. in /opt/iiab/iiab/roles/transmission/defaults/main.yml (you might need 'User=' and 'Group=' in systemd unit file /lib/systemd/system/transmission-daemon.service — e.g. both might need to be set to 'debian-transmission' — if so then run 'systemctl daemon-reload' and 'systemctl restart transmission-daemon'). |se| |nbsp| `PR #2703 <https://github.com/iiab/iiab/pull/2703>`_
|
||||
|
||||
* Random Ports: Currently it is not possible to use random ports in the range 49152-65535. It is difficult to open multiple ports in IIAB's iptables-based firewall.
|
||||
* Random Ports: Currently it is not possible to use random ports in the range 49152-65535, as it's difficult to open multiple ports in IIAB's `iptables-based firewall <https://github.com/iiab/iiab/wiki/IIAB-Networking#firewall-iptables>`_.
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
|
@ -79,8 +86,34 @@ Verify that transmission-daemon is running::
|
|||
|
||||
systemctl status transmission-daemon
|
||||
|
||||
Re-check that Transmission's settings are correct here: (by following the instructions above, under 'Configuration')
|
||||
Re-check that Transmission's settings are correct here: (by following the instructions above, under `Configuration <./README.rst#Configuration>`_)
|
||||
|
||||
::
|
||||
|
||||
/etc/transmission-daemon/settings.json
|
||||
|
||||
More advanced configuration and status are in directory ``/var/lib/transmission-daemon/info/`` (symlinked to /var/lib/transmission-daemon/.config/transmission-daemon/) here::
|
||||
|
||||
blocklists/
|
||||
dht.dat
|
||||
resume/
|
||||
settings.json <- /etc/transmission-daemon/settings.json (PR #2707 CREATES THIS SYMLINK!)
|
||||
stats.json
|
||||
torrents/
|
||||
|
||||
These are further explained in https://github.com/transmission/transmission/wiki/Configuration-Files (to align with the above, apt package transmission-daemon sets user debian-transmission's home directory to ``/var/lib/transmission-daemon`` in /etc/passwd).
|
||||
|
||||
Logging
|
||||
-------
|
||||
|
||||
To turn on logging and/or record the Process ID (PID), follow these instructions: https://pawelrychlicki.pl/Home/Details/59/transmission-daemon-doesnt-create-a-log-file-nor-a-pid-file-ubuntu-server-1804
|
||||
|
||||
This gives permissions to user ``debian-transmission`` — if you use these 3 lines in ``/lib/systemd/system/transmission-daemon.service`` :
|
||||
|
||||
::
|
||||
|
||||
RuntimeDirectory=transmission-daemon
|
||||
LogsDirectory=transmission-daemon
|
||||
ExecStart=/usr/bin/transmission-daemon -f --log-error --log-debug --logfile /var/log/transmission-daemon/transmission.log --pid-file /run/transmission-daemon/transmission.pid
|
||||
|
||||
Noting that one should not normally edit files in ``/lib`` or ``/usr/lib`` — systemd has a command for customizing unit files: ``systemctl edit --full transmission-daemon.service``
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
# Transmission download directory & general owner/group
|
||||
# transmission_download_dir: "{{ content_base }}/transmission/" # /library/transmission/
|
||||
# transmission_user: debian-transmission
|
||||
# transmission_group: root
|
||||
# transmission_group: debian-transmission
|
||||
|
||||
# Monitor downloads at http://box:9091 or http://box:9091/transmission using Admin/changeme
|
||||
# transmission_http_port: 9091
|
||||
# transmission_url: /transmission/
|
||||
# transmission_whitelist: 127.0.0.1,::1,192.168.*.*,172.18.96.*,10.8.0.*
|
||||
# transmission_whitelist_enabled: "false" # LOWERCASE STRING for settings.json
|
||||
# transmission_peer_port: 51413
|
||||
|
||||
# Provision Transmission with torrent(s) from http://pantry.learningequality.org/downloads/ka-lite/0.17/content/
|
||||
|
|
|
@ -6,6 +6,9 @@
|
|||
state: restarted
|
||||
when: transmission_enabled
|
||||
|
||||
- debug:
|
||||
var: transmission_kalite_languages
|
||||
|
||||
- name: Add PAUSED KA Lite torrent(s) to transmission-daemon's queue
|
||||
shell: >
|
||||
/usr/bin/transmission-remote
|
||||
|
@ -13,7 +16,7 @@
|
|||
-n {{ transmission_username }}:{{ transmission_password }}
|
||||
-a http://pantry.learningequality.org/downloads/ka-lite/{{ transmission_kalite_version }}/content/ka-lite-0.17-resized-videos-{{ item }}.torrent
|
||||
with_items: "{{ transmission_kalite_languages }}"
|
||||
when: transmission_enabled and transmission_provision and transmission_kalite_languages is defined and transmission_kalite_languages is not none
|
||||
when: transmission_enabled and transmission_provision and transmission_kalite_languages is defined and transmission_kalite_languages is not none # '!= None' also works (i.e. to avoid var value 'null', with type 'NoneType')
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Disable & Stop 'transmission-daemon' service, if not transmission_enabled
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
file:
|
||||
state: directory
|
||||
path: "{{ transmission_download_dir }}" # /library/transmission
|
||||
owner: "{{ transmission_user }}" # debian-transmission
|
||||
group: "{{ transmission_group }}" # root
|
||||
owner: "{{ transmission_user }}" # debian-transmission
|
||||
group: "{{ transmission_group }}" # debian-transmission
|
||||
# mode: '0755'
|
||||
|
||||
- name: Stop 'transmission-daemon' systemd service, before modifying its settings
|
||||
|
@ -19,13 +19,38 @@
|
|||
state: stopped
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Install /etc/transmission-daemon/settings.json from template
|
||||
- name: Back up prior /etc/transmission-daemon/settings.json (original file from apt, or new symlink contents) to /etc/transmission-daemon/settings.json.old*
|
||||
copy:
|
||||
src: /etc/transmission-daemon/settings.json
|
||||
dest: /etc/transmission-daemon/settings.json.old
|
||||
mode: preserve
|
||||
owner: "{{ transmission_user }}" # debian-transmission
|
||||
group: "{{ transmission_group }}" # debian-transmission
|
||||
backup: yes
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Back up IIAB's templated version to /etc/transmission-daemon/settings.json.iiab"
|
||||
template:
|
||||
src: settings.json.j2
|
||||
dest: /etc/transmission-daemon/settings.json
|
||||
owner: "{{ transmission_user }}" # debian-transmission
|
||||
group: "{{ transmission_group }}" # root
|
||||
# mode: '0644'
|
||||
dest: /etc/transmission-daemon/settings.json.iiab
|
||||
owner: "{{ transmission_user }}" # debian-transmission
|
||||
group: "{{ transmission_group }}" # debian-transmission
|
||||
mode: '0600'
|
||||
|
||||
- name: Install /var/lib/transmission-daemon/.config/transmission-daemon/settings.json from template
|
||||
template:
|
||||
src: settings.json.j2
|
||||
dest: /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
|
||||
owner: "{{ transmission_user }}" # debian-transmission
|
||||
group: "{{ transmission_group }}" # debian-transmission
|
||||
mode: '0600'
|
||||
|
||||
- name: "Reverse Transmission's fragile OOTB symlink -- instead we establish /etc/transmission-daemon/settings.json -> /var/lib/transmission-daemon/.config/transmission-daemon/settings.json -- REASON: /etc/transmission-daemon/settings.json was intermittently being IGNORED, as Transmission sometimes breaks its own symlink from /var/lib/transmission-daemon/.config/transmission-daemon/settings.json (by turning it into a file instead)"
|
||||
file:
|
||||
path: /etc/transmission-daemon/settings.json
|
||||
src: /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
|
||||
state: link
|
||||
force: yes
|
||||
|
||||
|
||||
# RECORD Transmission AS INSTALLED
|
||||
|
|
|
@ -13,18 +13,15 @@
|
|||
"cache-size-mb": 4,
|
||||
"dht-enabled": true,
|
||||
"download-dir": "{{ transmission_download_dir }}",
|
||||
"download-limit": 100,
|
||||
"download-limit-enabled": 0,
|
||||
"download-queue-enabled": true,
|
||||
"download-queue-size": 5,
|
||||
"encryption": 1,
|
||||
"idle-seeding-limit": 30,
|
||||
"idle-seeding-limit-enabled": false,
|
||||
"incomplete-dir": "/var/lib/transmission-daemon/Downloads",
|
||||
"incomplete-dir": "/var/lib/transmission-daemon/downloads",
|
||||
"incomplete-dir-enabled": false,
|
||||
"lpd-enabled": false,
|
||||
"max-peers-global": 200,
|
||||
"message-level": 1,
|
||||
"message-level": 2,
|
||||
"peer-congestion-algorithm": "",
|
||||
"peer-id-ttl-hours": 6,
|
||||
"peer-limit-global": 200,
|
||||
|
@ -35,12 +32,12 @@
|
|||
"peer-port-random-on-start": false,
|
||||
"peer-socket-tos": "default",
|
||||
"pex-enabled": true,
|
||||
"port-forwarding-enabled": false,
|
||||
"port-forwarding-enabled": true,
|
||||
"preallocation": 1,
|
||||
"prefetch-enabled": true,
|
||||
"queue-stalled-enabled": true,
|
||||
"queue-stalled-minutes": 30,
|
||||
"ratio-limit": 2,
|
||||
"ratio-limit": 2.0,
|
||||
"ratio-limit-enabled": false,
|
||||
"rename-partial-files": true,
|
||||
"rpc-authentication-required": true,
|
||||
|
@ -52,8 +49,8 @@
|
|||
"rpc-port": {{ transmission_http_port }},
|
||||
"rpc-url": "{{ transmission_url }}",
|
||||
"rpc-username": "{{ transmission_username }}",
|
||||
"rpc-whitelist": "127.0.0.1,192.168.*.*,172.18.96.*,10.8.0.*",
|
||||
"rpc-whitelist-enabled": false,
|
||||
"rpc-whitelist": "{{ transmission_whitelist }}",
|
||||
"rpc-whitelist-enabled": {{ transmission_whitelist_enabled }},
|
||||
"scrape-paused-torrents-enabled": true,
|
||||
"script-torrent-done-enabled": false,
|
||||
"script-torrent-done-filename": "",
|
||||
|
@ -66,8 +63,8 @@
|
|||
"start-added-torrents": true,
|
||||
"trash-original-torrent-files": false,
|
||||
"umask": 18,
|
||||
"upload-limit": 100,
|
||||
"upload-limit-enabled": 0,
|
||||
"upload-slots-per-torrent": 14,
|
||||
"utp-enabled": true
|
||||
"utp-enabled": true,
|
||||
"watch-dir": "",
|
||||
"watch-dir-enabled": false
|
||||
}
|
||||
|
|
|
@ -507,11 +507,13 @@ transmission_password: changeme
|
|||
# Transmission download directory & general owner/group
|
||||
transmission_download_dir: "{{ content_base }}/transmission/" # /library/transmission/
|
||||
transmission_user: debian-transmission
|
||||
transmission_group: root
|
||||
transmission_group: debian-transmission
|
||||
|
||||
# Monitor downloads at http://box:9091 or http://box:9091/transmission using Admin/changeme
|
||||
transmission_http_port: 9091
|
||||
transmission_url : /transmission/
|
||||
transmission_url: /transmission/
|
||||
transmission_whitelist: 127.0.0.1,::1,192.168.*.*,172.18.96.*,10.8.0.*
|
||||
transmission_whitelist_enabled: "false" # LOWERCASE STRING for settings.json
|
||||
transmission_peer_port: 51413
|
||||
|
||||
# Provision Transmission with torrent(s) from http://pantry.learningequality.org/downloads/ka-lite/0.17/content/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue