How to install transmission daemon on debian

To install Transmission on Debian, update your package list and enter sudo apt install transmission-gtk (for the GNOME graphical user interface version) or sudo apt install transmission-daemon (for the server version running in the background) in your terminal.

Choosing the Program Version

  • Graphical Version (GTK): Good for regular use on a desktop computer.
  • Server Version (Daemon): Good for a server, controlled via a web browser.

Installing the Graphical Version

  • Open the terminal.
  • Type sudo apt update.
  • Type sudo apt install transmission-gtk.
  • Confirm by pressing Enter.

Installing the Server Version (Daemon)

  • Type sudo apt update.
  • Type sudo apt install transmission-daemon.
  • Stop the service before editing settings: sudo systemctl stop transmission-daemon.
  • Edit the configuration file: sudo nano /etc/transmission-daemon/settings.json.
  • Enable and start the service: sudo systemctl enable --now transmission-daemon.



To allow an external graphical interface (such as Transmission Remote GUI, Tremotesf, or a web browser) to connect to the daemon on Debian, you need to modify the RPC parameters in the settings.json configuration file.
Before opening the file, always stop the service first, otherwise the system will overwrite your changes:

Open the configuration file (default path in Debian is /etc/transmission-daemon/settings.json):

Key Options to Change in the JSON File

Find and configure the following lines (remember the commas at the end of the lines if they are followed by other parameters):
  1. Enable Remote Control (RPC):

  2. Listen on All IP Addresses (instead of just the local 127.0.0.1):

  3. Configure IP Address Whitelist (Access):
    You can completely disable the IP lock (less secure) or provide your local network mask:
    • Option A (Secure – Recommended): Allow connections from the local network (e.g., 192.168.1.* or 192.168.0.*):

    • Option B (Less Secure): Completely disable IP filtering (any IP address will be able to connect):

  4. Enable Authentication and Change Password:
    For security, require a login. Type your password in plain text – Transmission will automatically encrypt it after it starts:

  5. Communication Port (Default 9091):

After editing, save the file (Ctrl + O, then Enter) and close the editor (Ctrl + X).

Starting the Service and Firewall Configuration

Restart the daemon:

If a firewall (like UFW) is running on your Debian server, you must open port 9091 for incoming traffic:

In your remote GUI program, enter the Debian IP address, port 9091, and the username and password you defined.


To change the download directory in Transmission, you need to modify two parameters in the configuration file: the default save path and the path for temporary files (in-progress downloads).
Before making any changes, remember to stop the daemon so the system does not overwrite the file:

Then, open the configuration file for editing:

Key Options to Change in the JSON File

Find and change the following parameters to your own paths (e.g., to an external drive or a different folder):
  1. Main Directory for Completed Downloads:

  2. Directory for In-Progress Downloads (Optional):
    If you want unfinished files to be in a separate location, set:

    If you prefer files to download directly to their final destination from the start, set "incomplete-dir-enabled": false.

Save the file (Ctrl + O, Enter) and close it (Ctrl + X).

Very Important: Folder Permissions

Transmission runs in the system as a user named debian-transmission. If this user does not have write permissions to the new folder, downloads will fail with a Permission Denied error.
You must grant permissions to the new directory. Type in the terminal:

Starting the Daemon

After setting the permissions, restart the service:


Would you like to continue configuring Transmission in English, or do you prefer to switch back to Polish for the next steps?