• Applications
  • [Discussion] Medusa: téléchargement automatique d'épisodes de série

therealcorwin je suis conscient que ça ne fixe pas la fonctionnalité en elle même, mais tu peux toujours passer par le trou noir qui envoie les torrents dans le répertoire watch de rtorrent

    adaur

    Merci Adaur pour ton retour. C'est ce à quoi je tends pour palier à ce souci. Par contre comment j'envoie mon torrent à ma seedbox de manière simple?

    Pour info, je travaille avec Mediarox un des contributeurs de Medusa pour résoudre ce souci. Maintenant le torrent est bien envoyé à la seedbox mais il reste en statut arrêté et n'a pas de label ;( Mais on avance !!

    Bonjour à tous,

    Je suis entrain de passer de SickRage à Medusa, et j’essaye d’essayer le passer en multi-utilisateur en me basant sur ce tuto : https://mondedie.fr/d/6674-Tuto-Sickrage-multi-utilisateurs mais je bloque...

    Donc j’ai créé un fichier /etc/init.d/medusa_garrus (en me basant sur le tuto de xataz) dont voici le contenu :

     
    #!/bin/bash
    #
    ### BEGIN INIT INFO
    # Provides:          medusa_garrus
    # Required-Start:    $local_fs $network $remote_fs
    # Required-Stop:     $local_fs $network $remote_fs
    # Should-Start:      $NetworkManager
    # Should-Stop:       $NetworkManager
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Daemon pour Medusa
    # Description:       Permets le lancement de Medusa en multi-utilisateurs
    ### END INIT INFO
    
    # A modifier
    APP_USER=garrus
    APP_INSTALL=/opt/medusa
    
    
    
    # Pas touche
    NAME=medusa_$APP_USER
    DESC="Medusa pour $APP_USER"
    APP_HOME=$APP_INSTALL
    APP_DATA=$APP_HOME/data/$APP_USER
    APP_OPTS=--config=$APP_DATA/config.ini
    APP_PIDFILE=$APP_DATA/Medusa.pid
    
    
    # default
    RUN_AS=${APP_USER-medusa}
    APP_PATH=${APP_HOME-/opt/medusa}
    DATA_DIR=${APP_DATA-/opt/medusa}
    PID_FILE=${APP_PIDFILE-/var/run/PyMedusa/Medusa.pid}
    DAEMON=${PYTHON_BIN-/usr/bin/python2.7}
    EXTRA_DAEMON_OPTS=${APP_OPTS-}
    EXTRA_SSD_OPTS=${SSD_OPTS-}
    
    PID_PATH=`dirname $PID_FILE`
    DAEMON_OPTS=" start.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}"
    
    test -x $DAEMON || exit 0
    set -e
    
    if [ ! -d $PID_PATH ]; then
        mkdir -p $PID_PATH
        chown $RUN_AS $PID_PATH
    fi
    
    if [ ! -d $DATA_DIR ]; then
        mkdir -p $DATA_DIR
        chown $RUN_AS $DATA_DIR
    fi
    
    if [ -e $PID_FILE ]; then
        PID=`cat $PID_FILE`
        if ! kill -0 $PID > /dev/null 2>&1; then
            echo "Removing stale $PID_FILE"
            rm $PID_FILE
        fi
    fi
    
    d_start() {
        echo "Starting $DESC"
        start-stop-daemon -d $APP_PATH -c $RUN_AS $EXTRA_SSD_OPTS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
    }
    
    d_stop() {
        echo "Stopping $DESC"
        start-stop-daemon --stop --pidfile $PID_FILE --retry 15
    }
    
    d_status() {
            if [ -e $PID_FILE ]
            then
                    if [ $(cat $PID_FILE) -eq $(ps -ef | grep $PID_FILE | grep -v grep | awk '{print $2}') ]
                    then
                            echo "$DESC is running"
                    else
                            echo "$DESC is stopping"
                    fi
            else
                    echo "$DESC is stopping"
            fi
    
    }
    
    case "$1" in
        start)
            d_start
            ;;
        stop)
            d_stop
            ;;
    
    restart|force-reload)
        d_stop
        sleep 2
        d_start
        ;;
    status)
        d_status
        ;;
    *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
        exit 1
        ;;
    esac
    
    exit 0
    

    Mais lorsque je vais sur l’interface web j’ai le message suivant :

    Traceback (most recent call last):
      File "/opt/medusa/ext/tornado/web.py", line 1488, in _execute
        result = self.prepare()
      File "/opt/medusa/ext/tornado/web.py", line 2223, in prepare
        raise HTTPError(self._status_code)
    HTTPError: HTTP 404: Not Found
    

    réponse un peu basique, le fichier existe t il bien et les droits sont ils les bons ?

      therealcorwin Merci pour l'aide, mais oui le fichier est bien au bon endroit et avec les bons droits...

        Garrus
        Salut
        jai fait ça mais non testé

        #
        ### BEGIN INIT INFO
        # Provides:          medusa
        # Required-Start:    $local_fs $network $remote_fs
        # Required-Stop:     $local_fs $network $remote_fs
        # Should-Start:      $NetworkManager
        # Should-Stop:       $NetworkManager
        # Default-Start:     2 3 4 5
        # Default-Stop:      0 1 6
        # Short-Description: starts instance of Medusa
        # Description:       starts instance of Medusa using start-stop-daemon
        ### END INIT INFO
        
        # Load the VERBOSE setting and other rcS variables
        . /lib/init/vars.sh
        
        # Define LSB log_* functions.
        # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
        . /lib/lsb/init-functions
        
        
        ## Don't set -e
        ## Don't edit this file!
        ## Edit user configuation in /etc/default/medusa to change
        ##
        ## APP_USER=         #$RUN_AS, username to run medusa under, the default is medusa
        ## APP_GROUP=        #$RUN_GROUP, group to run medusa under, the default is medusa
        ## APP_HOME=         #$APP_PATH, the location of start.py, the default is /opt/medusa
        ## APP_DATA=         #$DATA_DIR, the location of sickbeard.db, cache, logs, the default is /opt/medusa
        ## APP_PIDFILE=      #$PID_FILE, the location of medusa.pid, the default is /var/run/PyMedusa/Medusa.pid
        ## PYTHON_BIN=      #$DAEMON, the location of the python binary, the default is /usr/bin/python2.7
        ## APP_OPTS=         #$EXTRA_DAEMON_OPTS, extra cli option for medusa, i.e. " --config=/home/medusa/config.ini"
        ## SSD_OPTS=        #$EXTRA_SSD_OPTS, extra start-stop-daemon option like " --group=users"
        ##
        ## EXAMPLE if want to run as different user
        ## add APP_USER=username to /etc/default/medusa
        ## otherwise default medusa is used
        
        
        # A modifier
        MD_USER=garrus
        MD_INSTALL=/opt/medusa
        
        
        
        # Pas touche
        NAME=Medusa_$MD_USER
        MD_HOME=$MD_INSTALL
        MD_DATA=$MD_HOME/data/$MD_USER
        MD_OPTS=--config=$MD_DATA/config.ini
        MD_PIDFILE=$MD_DATA/sickrage.pid
        
        
        
        # App name
        DESC="Medusa pour $MD_USER"
        
        ## The defaults
        # Run as username
        RUN_AS=${MD_USER-medusa}
        
        # Run as group
        RUN_GROUP=${MD_USER-medusa}
        
        # Path to app APP_HOME=path_to_app_start.py
        APP_PATH=${MD_HOME-/opt/medusa}
        
        # Data directory where sickbeard.db, cache and logs are stored
        DATA_DIR=${MD_DATA-/opt/medusa}
        
        # Path to store PID file
        PID_FILE=${MD_PIDFILE-/var/run/PyMedusa/Medusa.pid}
        
        # path to python bin
        DAEMON=${PYTHON_BIN-/usr/bin/python2.7}
        
        # Extra daemon option like: APP_OPTS=" --config=/home/medusa/config.ini"
        EXTRA_DAEMON_OPTS=${MD_OPTS-}
        
        # Extra start-stop-daemon option like START_OPTS=" --group=users"
        EXTRA_SSD_OPTS=${SSD_OPTS-}
        ##
        
        PID_PATH=$(dirname $PID_FILE)
        DAEMON_OPTS=" start.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}"
        
        ##
        
        test -x $DAEMON || exit 0
        
        # Create PID directory if not exist and ensure the Medusa user can write to it
        if [ ! -d $PID_PATH ]; then
            mkdir -p $PID_PATH
            chown $RUN_AS $PID_PATH
        fi
        
        if [ ! -d $DATA_DIR ]; then
            mkdir -p $DATA_DIR
            chown $RUN_AS $DATA_DIR
        fi
        
        if [ -e $PID_FILE ]; then
            PID=`cat $PID_FILE`
            if ! kill -0 $PID > /dev/null 2>&1; then
                [ "$VERBOSE" != no ] && echo "Removing stale $PID_FILE"
                rm -f $PID_FILE
            fi
        fi
        
        start_medusa() {
            [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
            start-stop-daemon -d $APP_PATH -c $RUN_AS --group=${RUN_GROUP} $EXTRA_SSD_OPTS --start --quiet --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
            RETVAL="$?"
            case "${RETVAL}" in
                # Service was started or was running already
                0|1) [ "${VERBOSE}" != no ] && log_end_msg 0 ;;
                # Service couldn't be started
                2) [ "${VERBOSE}" != no ] && log_end_msg 1 ;;
            esac
            [ "${RETVAL}" = 2 ] && return 2
            return 0
        }
        
        stop_medusa() {
            [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
            start-stop-daemon --stop --pidfile $PID_FILE --quiet --retry TERM/30/KILL/5
            RETVAL="$?"
            case "${RETVAL}" in
                # Service was stopped or wasn't running
                0|1) [ "${VERBOSE}" != no ] && log_end_msg 0 ;;
                # Service couldn't be stopped
                2) [ "${VERBOSE}" != no ] && log_end_msg 1 ;;
            esac
            [ "${RETVAL}" = 2 ] && return 2
            [ -f "${PID_FILE}" ] && rm -f ${PID_FILE}
            return 0
        }
        
        case "$1" in
            start)
                start_medusa
                exit $?
                ;;
            stop)
                stop_medusa
                exit $?
                ;;
        
            restart|force-reload)
                stop_medusa
                sleep 2
                start_medusa
                exit $?
                ;;
            status)
                status_of_proc -p "$PID_FILE" "$DAEMON" "$DESC"
                exit $?
                ;;
            *)
                N=/etc/init.d/$NAME
                echo "Usage: $N {start|stop|restart|force-reload}" >&2
                exit 1
                ;;
        esac
        
        exit 0

        il te manque /lib/lsb/init-functions qui sont pour des variables.

          xavier Merci pour ta réponse, j'ai testé mais je me retrouve avec les mêmes erreurs...

            bjr, n'étant pas un spécialiste et comme j'ai peur de merdouiller, je peux laisser sickrage et installer aussi medusa? merci

            Bien sûr que tu peux, il faut juste faire attention à tes paramétrages afin d'éviter de doublonner le snatch

              Garrus
              Déjà on peut ce dire que le fichier est ok.
              Peut-être un problème de version de python ?

              fana les paramétrages à quel endroit? merci

              Ce que je veux dire c'est qu'il faut que tu fasses attention à comment tu compte utiliser sickrage et medusa en même temps. Histoire de ne pas snatcher 2 fois les mêmes choses en fait c'est tout. Perso en ce moment je teste medusa également avec sickrage à côté, du coup j'ai pas les mêmes séries d'un côté et de l'autre.

              [inconnu] Hum à priori la version de python est bonne, d'autant que lorsque je démarre Médusa avec le script "mono utilisateur" ça fonctionne bien...

                adaur Comment faire pour associer jacket à medusa

                en effet, le NZB custom correspond exclusivement à une recherche RSS

                merci par avance.

                adaur Je n'ai pas compris d'ou vient le dossier /var/run/PyMedusa dont on doit changer le propriétaire.

                Sinon je crois que tu as un path faux: python /var/www/medusa/SickBeard.py -d qui devrait être si j'ai bien compris python /chemin/vers/votre/installation/medusa/SickBeard.py -d.

                Pour le moment lorsque j'essaie de faire un service medusa start, j'ai une erreur "Access Denied", j'imagine qu'il manque un sudo ici?

                Hello
                Je découvre vôtre site et c'est une véritable mine d'informations 🙂

                Comme certains j'ai essayé d'installer Medusa et j'ai quelques petits soucis

                Après l'installation si je pointe vers monIp:8081 pas de soucis, par contre des que je mets le reverse proxy dans :

                nano /etc/nginx/sites-enabled/rutorrent.conf
                		location ^~ /medusa {
                			proxy_pass http://localhost:8081;
                			proxy_set_header Host $host;
                			proxy_set_header X-Real-IP $remote_addr;
                			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                			proxy_set_header X-Forwarded-Host $host:443;
                			proxy_set_header X-Forwarded-Server $host;
                			proxy_set_header X-Forwarded-Port 443;
                			proxy_set_header X-Forwarded-Proto $scheme;
                
                	# Websocket
                	proxy_http_version 1.1;
                	proxy_set_header Upgrade $http_upgrade;
                	proxy_set_header Connection "upgrade";
                	proxy_read_timeout 86400;
                }
                

                J'ai aussi testé en modifiant /chemin/vers/votre/installation/medusa/config.ini

                web_root = ""
                en
                web_root = /medusa
                

                Mais toujours les même erreurs

                Une idée ?
                Si je laisse mon acces monip:8081 il y'a un risque ? ( je suis le seul utilisateur)

                Merci d'avance 🙂

                  Garrus
                  Salut
                  je viens de testé cher moi est nickel , multi ok

                  ps: pense a changer le port etc etc ..

                  Scherba
                  Salut
                  test ça

                  location ^~ /medusa{
                                  proxy_set_header X-Real-IP $remote_addr;
                                  proxy_set_header X-Forwarded-For $remote_addr;
                                  proxy_set_header Host $host;
                                  proxy_redirect off;
                                  proxy_pass http://127.0.0.1:8081;
                          }

                    bonjour,

                    où ajouter les conf de Jacket dans medusa merci par avance.

                    xavier
                    Parfait plus d'erreur merci beaucoup ! 😉

                    Me reste plus qu'a réglé le soucis avec plexpy (il veut pas démarrer grrr ) et ce sera au poil .