How to make sonarr stop creating duplicates of my files


I already check for that issue, but still don’t understand really well the answers.
So i have Sonarr + transmission to download torrents via docker-compose.

Here is my configuration :

    container_name: sonarr
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - /DATA/multimedia/sonarr/config:/config
      - /DATA/multimedia/transmission/downloads:/downloads
      - /DATA/multimedia/sonarr/tv:/tv
      - 8989:8989
    restart: unless-stopped

    container_name: transmission
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - /DATA/multimedia/transmission/config:/config
      - /DATA/multimedia/transmission/downloads:/downloads
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

When i ask sonarr to download a tv show, it will send the instruction to transmission, it’s downloading and transmission put the downloaded file in “/DATA/multimedia/transmission/downloads”.
My issue is when i add a tv show on sonarr it must be a root folder image

That’s why i added another volume /tv.
But when it’s fully downloaded i have duplicate files, one raw from transmission, and one renamed from sonarr. So it’s taking more space in my disks.

Before sonarr does the copy :
df -h .
Sys. de fichiers            Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/data_vg-lv_data   5,5T     13G  5,2T   1% /DATA

After :

df -h .
Sys. de fichiers            Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/data_vg-lv_data   5,5T     18G  5,2T   1% /DATA

I know sonarr will delete the file from transmission when the seed ratio will be done, but i don’t want to delete it, i want to let it perma seed.

So my question is how stop duplicating file, or maybe any other way i could workaround ?


You ignored LSIO’s instructions that explicitly said their poor optional paths would result in duplicate space for all torrents. Sonarr is doing exactly what you configured it to do and exactly what you wanted.

Media folders

We have set /tv and /downloads as optional paths, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you dont understand, or dont want hardlinks/atomic moves.
The folks over at wrote a good write-up on how to get started with this.

Based on your chosen paths, you can never not have duplicate space for all torrents.

This is also in the install docs and faq

Hello, thanks for answer.
So what’s the solution, removing /download & /tv path and that’s all ?

i don’t really get it

Redoing your setup that are not the poor optional paths that LSIO linked.

their readme, the sonarr faq, the sonarr website, and the sonarr install docs all say how to avoid this and link to the docker guides

For those who don’t understand how it works, I found a dirty workaround.
In the docker compose you mount the volumes /tv.
Then you add a new series on sonarr, select the /tv directory.
Next, delete the /tv volumes in the docker-compose; restart everything.
You can still add series to sonarr in /tv , it will just tell you that it can’t find it, and in this case it won’t duplicate files
It’s ugly, because sonarr doesn’t see the files, but plex is very good at reading files not sorted by sonnar and at least you don’t have wasted disk space.


But woking fine on plex.

That’s not a workaround.

What’s unclear about following your container maintainers instructions - following trash’s guide or the docker guide - and fixing your poor paths that do not support hardlinks?

Why were you unable to follow the step by step instructions of trash’s guide and did you go on his discord for support as his guides say?

Everything says you absolutely should not have /tv and /downloads if you want hardlinks, why ignore this?

What’s unclear about redoing your docker setup to only have a single mount (besides config)?

Based on your “solution” and just letting everything be downloaded and never imported, it sounds like sonarr is not the tool for you as you aren’t using itZ perhaps use flexget which will just filter your site’s RSS feeds for you.

I already tried flexget or sickchill but i prefer sonarr’s interface.
It works like i want now.

Maybe oneday it will not work anymore, then i would follow the guide.

I use sonarr just to download series automatically without having to do anything manually. Including for the new episodes that will be released on my series

So why can’t you fix your bad paths?

It’s not complicated at all…it seems you made no attempt to view or open the docker guides?

Your setup is not supported and will cause issues.

I just did it. In your first answer u didn’t gave me the name of the guide. That’s why i decided to stay with my workaround. Now you gave me the Trash guide, i did it. it works, it change nothing compared to my workaroud, i just don’t have warning alerts anymore

1 Like