From 20949b8de9c3048f297f2bfb3d6716d458605630 Mon Sep 17 00:00:00 2001 From: Aron Radics Date: Sat, 29 Mar 2025 23:41:20 +0100 Subject: [PATCH 1/2] Set polling time to 10 sec --- cdm_client/cdm_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cdm_client/cdm_client.py b/cdm_client/cdm_client.py index 7d101fa..a3ac4fa 100644 --- a/cdm_client/cdm_client.py +++ b/cdm_client/cdm_client.py @@ -58,7 +58,7 @@ def run(self) -> None: self._download_files() except Exception: # pylint: disable=broad-except self._logger.exception("An error occurred.") - sleep(30) + sleep(10) def main() -> None: From 9429d3ad91116314f317cfb407e718aee7a5fccb Mon Sep 17 00:00:00 2001 From: Aron Radics Date: Sat, 29 Mar 2025 23:41:28 +0100 Subject: [PATCH 2/2] Update README --- README.md | 91 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index e07db52..79cb9ec 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,68 @@ # CDMClient -CDM - Centralized Download Manager Client +**CDM - Centralized Download Manager Client** +CDMClient is the client application for the [CDM Server](https://github.com/radaron/CDMServer/tree/master). + +This client communicates with the CDM Server to periodically send the download status from Transmission and check for new torrent files to download. If new torrents are available, they are downloaded and added to Transmission using the `transmission-rpc` library. ## Installation -### Install/Upgrade package -``` shell +### Install or Upgrade the Package +Run the following command to install or upgrade CDMClient: +```shell python3 -m pip install --upgrade CDMClient --user ``` -### Create service -``` shell -echo "[Unit] -Description=cdm-client service -After=multi-user.target -Conflicts=getty@tty1.service -[Service] -User=${USER} -Type=simple -Environment="LC_ALL=C.UTF-8" -Environment="LANG=C.UTF-8" -ExecStart=${HOME}/.local/bin/cdm-client -Restart=on-failure -RestartSec=3 -[Install] -WantedBy=multi-user.target" | sudo tee /etc/systemd/system/cdm-client.service -``` -``` shell -sudo systemctl daemon-reload -sudo systemctl enable cdm-client.service -sudo systemctl start cdm-client.service -``` +### Create a Systemd Service +To set up CDMClient as a systemd service, execute the following commands: + +1. Create the service file: + ```shell + echo "[Unit] + Description=cdm-client service + After=multi-user.target + Conflicts=getty@tty1.service + + [Service] + User=${USER} + Type=simple + Environment="LC_ALL=C.UTF-8" + Environment="LANG=C.UTF-8" + ExecStart=${HOME}/.local/bin/cdm-client + Restart=on-failure + RestartSec=3 -## Configuartion -Config file path: ```~/.config/cdm_client/config.ini``` + [Install] + WantedBy=multi-user.target" | sudo tee /etc/systemd/system/cdm-client.service + ``` -This file automatically generated when the service starts. See the example below. -``` ini +2. Reload systemd and enable the service: + ```shell + sudo systemctl daemon-reload + sudo systemctl enable cdm-client.service + sudo systemctl start cdm-client.service + ``` + +## Configuration +The configuration file is located at: +```~/.config/cdm_client/config.ini``` + +This file is automatically generated when the service starts. Below is an example configuration: + +```ini [connection] -server_host = -api_key = -rpc_user = -rpc_password = +server_host = "https://cdm.test.com" +api_key = "1409d6ed79280aadcbe20f8f21981e89" +rpc_user = "admin" +rpc_password = "admin" ``` -## Check logs -``` shell +### Configuration Details: +- **`server_host`**: The full URL of the CDM Server (e.g., `https://cdm.server.com`). +- **`api_key`**: The API key generated when adding a new device on the CDM Server's devices page. Refer to the [Devices Page Documentation](https://github.com/radaron/CDMServer/blob/master/doc/USAGE.md#devices-page). +- **`rpc_user`** and **`rpc_password`**: Required only if Transmission RPC authentication is enabled. See the [Transmission RPC Configuration Guide](https://help.ubuntu.com/community/TransmissionHowTo) for more details. + +## Viewing Logs +To monitor the service logs, use the following command: +```shell journalctl -fu cdm-client -``` +``` \ No newline at end of file