transmission-rss icon indicating copy to clipboard operation
transmission-rss copied to clipboard

Running with Docker on Ruby 3 doesn't work

Open Ripper346 opened this issue 4 years ago • 0 comments

Hi, I tried to run this extension using Docker on Ubuntu Server 20.04.1 on a Raspberry Pi 2B, so on arm32v7 hardware, I converted the

docker run -t \
  -v $(pwd)/transmission-rss.conf:/etc/transmission-rss.conf \
  nning2/transmission-rss

to use it with a compose. Initially it gave me the error standard_init_linux.go:219: exec user process caused: exec format error, then it run but with crashing error

transmission-rss    | bundler: failed to load command: ./bin/transmission-rss (./bin/transmission-rss)
transmission-rss    | /home/ruby/transmission-rss/lib/transmission-rss/aggregator.rb:3:in `require': cannot load such file -- rss (LoadError)
transmission-rss    |   from /home/ruby/transmission-rss/lib/transmission-rss/aggregator.rb:3:in `<top (required)>'
transmission-rss    |   from /home/ruby/transmission-rss/lib/transmission-rss.rb:11:in `require'
transmission-rss    |   from /home/ruby/transmission-rss/lib/transmission-rss.rb:11:in `block in <top (required)>'
transmission-rss    |   from /home/ruby/transmission-rss/lib/transmission-rss.rb:10:in `each'
transmission-rss    |   from /home/ruby/transmission-rss/lib/transmission-rss.rb:10:in `<top (required)>'
transmission-rss    |   from /home/ruby/transmission-rss/bin/transmission-rss:7:in `require'
transmission-rss    |   from /home/ruby/transmission-rss/bin/transmission-rss:7:in `<top (required)>'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `load'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/cli/exec.rb:63:in `kernel_load'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/cli/exec.rb:28:in `run'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/cli.rb:497:in `exec'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/cli.rb:30:in `dispatch'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/cli.rb:24:in `start'
transmission-rss    |   from /usr/local/lib/ruby/gems/3.0.0/gems/bundler-2.2.3/libexec/bundle:49:in `block in <top (required)>'
transmission-rss    |   from /usr/local/lib/ruby/3.0.0/bundler/friendly_errors.rb:130:in `with_friendly_errors'
transmission-rss    |   from /usr/local/lib/ruby/gems/3.0.0/gems/bundler-2.2.3/libexec/bundle:37:in `<top (required)>'
transmission-rss    |   from /usr/local/bin/bundle:23:in `load'
transmission-rss    |   from /usr/local/bin/bundle:23:in `<main>'

This morning I tried to edit the Dockerfile, first by specify the ruby version for arm FROM arm32v7/ruby:alpine but it didn't work. Then I tried to use FROM arm32v7/ruby:2-alpine and it worked. Finally, using only FROM ruby:2-alpine it works.

I don't know if it is only my problem, only a problem with arm32v7 cpus but it took time to find out since the initial error doesn't refer to anything. Maybe it is the case to investigate or to simply specify the version of ruby in the repo file.

My total compose with transmission is:

version: "3.7"
services:
  transmission:
    image: ghcr.io/linuxserver/transmission
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - TRANSMISSION_WEB_HOME=/combustion-release/ #optional
      - USER=admin #optional
      - PASS=admin #optional
    volumes:
      - ./config:/config
      - ./downloads:/downloads
      - ./watch:/watch
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped
    networks:
      transmission-network:
        aliases:
          - transmission

  transmission-rss:
    build:
      context: ./transmission-rss
      dockerfile: Dockerfile
    container_name: transmission-rss
    environment:
      - TZ=Europe/Berlin
    volumes:
      - ./transmission-rss.conf:/etc/transmission-rss.conf
    restart: unless-stopped
    depends_on:
      - transmission
    networks:
      - transmission-network

networks:
  transmission-network:

and the transmission-rss.conf is

feeds:
  - url: ...

update_interval: 600

add_paused: true

server:
  host: transmission
  port: 9091
  tls: false
  rpc_path: /transmission/rpc

login:
  username: admin
  password: admin

Ripper346 avatar Feb 09 '21 10:02 Ripper346