linuxserver / docker-couchpotato

http://linuxserver.io
GNU General Public License v3.0
154 stars 69 forks source link

Unable to use hardlink because of partitions within container #48

Closed defhead closed 5 years ago

defhead commented 5 years ago

Here is my docker compose part for CouchPotato:

   [...]
  couchpotato:
    image: linuxserver/couchpotato
    container_name: couchpotato
    volumes:
      - /data/docker/volumes/seedbox/couchpotato:/config
      - /data/docker/volumes/seedbox/downloads:/downloads
      - /data/docker/volumes/seedbox/data/media/movies:/movies
     ports:
       - 5050:5050
    restart: unless-stopped
  [...]

When a download is finished, the Renamer tries to "Link" it. So, first it tries the hard-link, and if it's unable to do so, it uses a symlink.

In my case it didn't manage to hardlink, with error message " OSError: [Errno 18] Cross-device link .", so it felt back on symlink (successfully).

Doing so, somehow it broke the seeding of my torrent, maybe because the symlink isn't valid outside container context.

Here is my container's partitions list:

root@d5e65f3600bb:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
none            131G  7.0G  117G   6% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda4       786G  335G  412G  45% /downloads
/dev/sda2       131G  7.0G  117G   6% /etc/hosts
shm              64M     0   64M   0% /dev/shm
tmpfs           3.9G     0  3.9G   0% /proc/acpi
tmpfs           3.9G     0  3.9G   0% /proc/scsi
tmpfs           3.9G     0  3.9G   0% /sys/firmware

So I have 2 questions:

aptalca commented 5 years ago

Except for the /config mount point, all others are suggested. You can configure them however you like. You can mount a parent folder that contains both movies and downloads in its downstream path, then the container would treat the movies and downloads folders as being on the same drive

With that said, this is not a bug with the image so I'm closing this. Feel free to jump on our discord or post in the forum for further help.