Wonderfall / docker-rtorrent-flood

75 stars 45 forks source link

⚠️THIS IMAGE IS DEPRECATED, USE https://github.com/Wonderfall/docker-rtorrent INSTEAD ⚠️

wonderfall/rtorrent-flood

What is this image?

This image was made for my own use a few years ago and while it is being updated, the structure hasn't changed much. I do not trust third-party Dockerfiles, and so should you: consider this repository as a base for your own Docker setup. If you want to do it "the Docker way", you should consider using proper containers for Flood and rtorrent, and use docker-compose.

Security

As many images from the time it was first made, this image follows the principle of degrading privileges. It runs first as root to ensure permissions are set correctly and then only makes use of the UID/GID of your choice. While I agree it's not perfect (due to Linux insecurity), it seemed the best security/comfort balance at the time and it'll remain so for a while.

Main features

Build-time variables

Environment variables

Note

Ports

Tags

Volumes

My docker-compose

  rtorrent:
    image: wonderfall/rtorrent-flood
    container_name: rtorrent
    restart: unless-stopped
    tty: true
    security_opt:
      - no-new-privileges:true
    ports:
      - 49184:49184
      - 49184:49184/udp
    environment:
      - UID=1000
      - GID=1000
      - FLOOD_SECRET=supersecret
      # - RTORRENT_SOCK=false
    volumes:
      - /home/docker/flood:/flood-db
      - /home/media/torrents:/data
    networks:
      - http_network
      - rtorrent_network
    labels:
      - traefik.enable=true
      - traefik.http.routers.rtorrent.entrypoints=http
      - traefik.http.routers.rtorrent.rule=Host(`box.domain.tld`)
      - traefik.http.routers.rtorrent.middlewares=https-redirect@file
      - traefik.http.routers.rtorrent-secure.entrypoints=https
      - traefik.http.routers.rtorrent-secure.rule=Host(`box.domain.tld`)
      - traefik.http.routers.rtorrent-secure.tls=true
      - traefik.http.routers.rtorrent-secure.middlewares=secure-headers@file,hsts-headers@file
      - traefik.http.routers.rtorrent-secure.tls.certresolver=http
      - traefik.http.routers.rtorrent-secure.service=rtorrent
      - traefik.http.services.rtorrent.loadbalancer.server.port=3000
      - traefik.docker.network=http_network