GithubHelp home page GithubHelp logo

sleeyax / stremio-streaming-server Goto Github PK

View Code? Open in Web Editor NEW
106.0 3.0 26.0 29 KB

Small docker image to run Stremio's streaming server standalone

Home Page: https://hub.docker.com/r/sleeyax/stremio-streaming-server

Dockerfile 33.22% Shell 66.78%
stremio

stremio-streaming-server's Introduction

⚠️ The OFFICIAL docker image is avalable here: https://github.com/Stremio/server-docker.

This project is no longer maintained.


Portable Streaming Server for Stremio

This docker image allows you to run Stremio's streaming server as a standalone server (i.e. separate from the desktop application). You could drop a streaming server container on a separate linux-based server and remotely connect your Stremio interface to it. Or, you could run this together with Stremio 5 (a.k.a stremio-web, which is currently in alpha).

If you're interested in building Stremio components yourself, check out the instructions at the stremio-shell repository.

Every 24 hours a bot checks for a new version of Stremio's streaming server. When a new version is found, a new tag will be published to this repository, which in turn triggers a rebuild on docker hub. Please open an issue if you believe a version is missing.

Usage

Execute the following command to pull and run the docker image:

$ docker run -p 11470:11470 -e FIX_UNSUPPORTED_MEDIA=1 -v ${PWD}:/root/.stremio-server --name=stremio-streaming-server sleeyax/stremio-streaming-server

This will run the latest version of the streaming server, map the configuration directory .stremio-server/ to your current working directory ${PWD} and expose it on port 11470. A patch to fix unsupported media errors is also applied here. See below for more information about patches.

Patches

By default, all streaming server dependencies are downloaded and stored unmodified. You may want to apply one or more patches to improve usability for your use case though. Patches can be applied at container creation via environment variables: $ docker run [ARGS] -e PATCHNAME=1 sleeyax/stremio-streaming-server. Set to 1 to enable and 0 to disable (all patches are disabled by default).

Available patches:

FORCE_HTTPS

Enable this if you are using a reverse HTTPS proxy (e.g localtunnel) to access the streaming server. See #10#issuecomment-1174508779 for more information about why enabling this is recommended.

FIX_UNSUPPORTED_MEDIA

Attempts to fix 'unsupported media' errors. Only enable this if you are experiencing this exact issue as this patch is not well tested (source).

Advanced

Normally the latest version should be fine but if for some reason you'd like to run a different version of the streaming server, follow these steps:

  1. Clone this repository $ git clone https://github.com/sleeyax/stremio-streaming-server && cd stremio-streaming-server.
  2. Change the VERSION build argument. Examples: ARG VERSION=v4.4.148, ARG VERSION=master. You can also override this argument with the --build-arg flag while running the command below.
  3. rebuild the container $ docker build -t sleeyax/stremio-streaming-server . or docker buildx build --platform linux/arm64,linux/arm/v7 -t sleeyax/stremio-streaming-server . for multi-arch builds.

This project is not officialy maintained by Stremio.

stremio-streaming-server's People

Contributors

ahmadalli avatar jaruba avatar n0bodysec avatar sleeyax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

stremio-streaming-server's Issues

adding surfshark VPN?

I tried adding a surfshark container in front of the server, using a docker-compose.yml modified from docker-surfshark:

services: 
    surfshark-stremio:
        image: ilteoood/docker-surfshark
        container_name: surfshark-stremio
        environment: 
            - SURFSHARK_USER=_redacted_
            - SURFSHARK_PASSWORD=_redacted_
            - SURFSHARK_COUNTRY=_redacted_
            - SURFSHARK_CITY=_redacted_
            - CONNECTION_TYPE=udp
            - LAN_NETWORK=192.168.10.0/24
        cap_add: 
            - NET_ADMIN
        devices:
            - /dev/net/tun
        ports:
            - 11470:11470
        restart: unless-stopped
        dns:
            - 1.1.1.1
    stremio:
        image: sleeyax/stremio-streaming-server:latest
        container_name: stremio
        environment:
            - FIX_UNSUPPORTED_MEDIA=1
        volumes:
            - stremio:/root/.stremio-server
        network_mode: service:surfshark-stremio
        restart: unless-stopped
volumes:
    stremio:

I can connect to stremio through a browser on the local network, but it throws this error:

image

The source transmission-surfshark docker-compose works fine. (I removed the service_test as it serves no purpose anyway.)

I'm open for other ways to accomplish this, just based it on an example I know works.

stremio and raspberry pi4

Hello, the stremio version docker is pulling is for x86/64 platform or agnostic (meaning it can work with raspberry's arm64).
i get this error:

docker run -p 11470:11470 -v ${PWD}:/root/.stremio-server --name=stremio-streaming-server sleeyax/stremio-streaming-server
docker: Error response from daemon: error creating aufs mount to /var/lib/docker/aufs/mnt/593fde7a3bbe0639dc1bdbc84acaed96f7050c08a7d860e02098f492aa4ef3b1-init: mount target=/var/lib/docker/aufs/mnt/593fde7a3bbe0639dc1bdbc84acaed96f7050c08a7d860e02098f492aa4ef3b1-init data=br:/var/lib/docker/aufs/diff/593fde7a3bbe0639dc1bdbc84acaed96f7050c08a7d860e02098f492aa4ef3b1-init=rw:/var/lib/docker/aufs/diff/3abb678ec804f3cbfde9551f839522cdc817f8bf9fb87d9ee6b8e3c31e24b5b7=ro+wh:/var/lib/docker/aufs/diff/1803f7a5303f2d5fdaeab55564912b6d31905a623554e6a92bc791cb71206cae=ro+wh:/var/lib/docker/aufs/diff/609c192a437a27bd143ee9e87f6ec13926fe91c0c94224058b0d32d293e8826a=ro+wh:/var/lib/docker/aufs/diff/75c7dd76e1f07979485b4b472b0af878b59f3b647d537c32b5f5383097235568=ro+wh:/var/lib/docker/aufs/diff/9f6f8570f3e87651faf4c08e1018ed981b353fd85bfc0ca9c36c28ba9254a17e=ro+wh:/var/lib/docker/aufs/diff/7962a1936af15e248dba3d725bcb099429f6d64757fd7767fbc7878ca36d13f0=ro+wh:/var/lib/docker/aufs/diff/5491519218b5a5b7f0227d013356aed6f64ea33e172d5785fcd5b2dc0184dbfe=ro+wh:/var/lib/docker/aufs/diff/dce1df84fe8f1d42eae274e81540f1690a3e912b5736c9ce03b38a3d4303dc35=ro+wh:/var/lib/docker/aufs/diff/641d8e583879ecb845cf7b78fee610e330e6f2c928e0c381e0cfb3e915b2c4eb=ro+wh,dio,xino=/dev/shm/aufs.xino: invalid argument.

Failed to fetch

Im getting "Failed to fetch" error when i try so start a movie with torrentio plugin, what can be?

Errors when trying to stream

I'm getting this upon trying to stream something:

-> GET /.git/config 
Error: Cannot parse path
    at openPath (/stremio/server.js:46331:8)
    at /stremio/server.js:46411:5
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at next (/stremio/server.js:122399:13)
    at sendDLNAHeaders (/stremio/server.js:46521:15)
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at next (/stremio/server.js:122399:13)
    at Route.dispatch (/stremio/server.js:122364:3)
    at handle (/stremio/server.js:121855:11)
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at /stremio/server.js:121631:22
    at param (/stremio/server.js:121708:14)
    at param (/stremio/server.js:121719:14)
    at param (/stremio/server.js:121719:14)
    at Function.process_params (/stremio/server.js:121764:3)
    at next (/stremio/server.js:121625:10)

-> GET /?rest_route=/wp/v2/users/ 
-> GET /info.php 
-> GET /.DS_Store 
-> GET /telescope/requests 
Error: Cannot parse path
    at openPath (/stremio/server.js:46331:8)
    at /stremio/server.js:46411:5
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at next (/stremio/server.js:122399:13)
    at sendDLNAHeaders (/stremio/server.js:46521:15)
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at next (/stremio/server.js:122399:13)
    at Route.dispatch (/stremio/server.js:122364:3)
    at handle (/stremio/server.js:121855:11)
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at /stremio/server.js:121631:22
    at param (/stremio/server.js:121708:14)
    at param (/stremio/server.js:121719:14)
    at param (/stremio/server.js:121719:14)
    at Function.process_params (/stremio/server.js:121764:3)
    at next (/stremio/server.js:121625:10)
-> GET /.env 

-> GET /.git/config 
Error: Cannot parse path
    at openPath (/stremio/server.js:46331:8)
    at /stremio/server.js:46411:5
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at next (/stremio/server.js:122399:13)
    at sendDLNAHeaders (/stremio/server.js:46521:15)
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at next (/stremio/server.js:122399:13)
    at Route.dispatch (/stremio/server.js:122364:3)
    at handle (/stremio/server.js:121855:11)
    at Layer.handle [as handle_request] (/stremio/server.js:122166:5)
    at /stremio/server.js:121631:22
    at param (/stremio/server.js:121708:14)
    at param (/stremio/server.js:121719:14)
    at param (/stremio/server.js:121719:14)
    at Function.process_params (/stremio/server.js:121764:3)
    at next (/stremio/server.js:121625:10)
-> GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 
-> GET /server-status 
-> GET /s/3134342e322e3130392e313635/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 
-> GET /config.json 
-> GET /login.action 

stremio-server.json missing

Found that the settings file server-settings.json is missing when starting up the image.

Solved it by creating a json file manually.
Is it possible to add a command in start.sh to create a settings file if it´s missing?

Patch scripts

I'm not sure how many patches I'd like to apply to the streaming server script by default, especially if potential side effects are unknown. Perhaps it makes more sense to include 'patch scripts' that users can apply at runtime if they chose to do so at their own risk of breaking it. By default it should apply no patches and there should be proper docs on how to apply them.

CC @n0bodysec

Preinstall addon

Hi, it's not an issue, but rather a question. Is there any way to have an addon preinstalled on my streaming server? So that, when i enter my server from another device, i don't have to install the addons i want.

Sharing using https

Im trying to connect to the server, that is being hosted on oracle clouds server, but i cant get it setup to work over https i wanna use it on the web version on a strict browser which only works with https content.
If there's i dont know a way of customising the https address that gets assigned in the app, or manually setting the IP to the public IP of the server?

Access not from `localhost`

Hi,
I would like to run stremio-streaming-server on a separate PC.

I run:

podman run -it --rm -p 11470:11470 sleeyax/stremio-streaming-server 

If I access localhost:11470, it redirects to https://app.strem.io/shell-v4.4/?streamingServer=http%3A%2F%2Flocalhost%3A11470#/, and I can play video.

Instead I access 192.168.178.21:11470 (computer IP), it redirects to https://app.strem.io/shell-v4.4/?streamingServer=http%3A%2F%2F192.168.178.21%3A11470#/, under Settings > Streaming > Streaming server URL is http://192.168.178.21:11470 but it shows Streaming server is not available.

I do not think that it is a firewall problem as I can:

$ curl http://192.168.178.21:11470/settings
{"options":[{"id":"localAddonEnabled","label":"ENABLE_LOCAL_FILES_ADDON","type":"checkbox"},{"id":"remoteHttps","label":"ENABLE_REMOTE_HTTPS_CONN","type":"select","class":"https","icon":true,"selections":[{"name":"Disabled","val":""},{"name":"10.0.2.100","val":"10.0.2.100"}]},{"id":"cacheSize","label":"CACHING","type":"select","class":"caching","icon":true,"selections":[{"name":"no caching","val":0},{"name":"2GB","val":2147483648},{"name":"5GB","val":5368709120},{"name":"10GB","val":10737418240},{"name":"∞","val":null}]}],"values":{"serverVersion":"4.19.0","appPath":"/root/.stremio-server","cacheRoot":"/root/.stremio-server","cacheSize":2147483648,"btMaxConnections":55,"btHandshakeTimeout":20000,"btRequestTimeout":4000,"btDownloadSpeedSoftLimit":2621440,"btDownloadSpeedHardLimit":3670016,"btMinPeersForStable":5,"remoteHttps":"","localAddonEnabled":false},"baseUrl":"http://10.0.2.100:11470"}

Any suggestions?

Thanks

Cannot parse path: info hash received

Hi,

I tried to ran the container using this command docker run -p 11470:11470 -e FIX_CORS=1 -e FIX_UNSUPPORTED_MEDIA=1 -e FORCE_HTTPS=1 -v /media/external/:/root/.stremio-server --name=stremio-streaming-server sleeyax/stremio-streaming-server and I can see the container is created successfully and the server started too (see below). After that I configured my stremio web client to use this new server as the Streaming server ( see below). So far everything its fine but when I tried to reproduce any resource I'm having an error in the web client saying "Video is not supported" (see below) and into the server logs I have this:

-> POST /17e76561ce358d7d33128c409d3356e7948ffdaf/create
-> HEAD /17e76561ce358d7d33128c409d3356e7948ffdaf/undefined
Error: Cannot parse path: info hash received, but invalid file index or file name
    at /stremio/server.js:46313:41
    at EventEmitter.<anonymous> (/stremio/server.js:46140:58)
    at Object.onceWrapper (events.js:422:26)
    at EventEmitter.emit (events.js:315:20)
    at EventEmitter.emit (domain.js:486:12)
    at /stremio/server.js:46185:35
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
-> HEAD /hlsv2/e6db21b6b4bf66fe5db4dc1e17b8db9d/master.m3u8?mediaURL=http%3A%2F%2F10.0.0.54%3A11470%2F17e76561ce358d7d33128c409d3356e7948ffdaf%2Fundefined&maxAudioChannels=2
-> GET /17e76561ce358d7d33128c409d3356e7948ffdaf/undefined bytes=0-
Error: Cannot parse path: info hash received, but invalid file index or file name
    at /stremio/server.js:46313:41
    at EventEmitter.<anonymous> (/stremio/server.js:46140:58)
    at Object.onceWrapper (events.js:422:26)
    at EventEmitter.emit (events.js:315:20)
    at EventEmitter.emit (domain.js:486:12)
    at /stremio/server.js:46185:35
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
-> GET /hlsv2/e6db21b6b4bf66fe5db4dc1e17b8db9d/master.m3u8?mediaURL=http%3A%2F%2F10.0.0.54%3A11470%2F17e76561ce358d7d33128c409d3356e7948ffdaf%2Fundefined&maxAudioChannels=2 bytes=0-
-> GET /17e76561ce358d7d33128c409d3356e7948ffdaf/undefined bytes=0-
Error: Cannot parse path: info hash received, but invalid file index or file name
    at /stremio/server.js:46313:41
    at EventEmitter.<anonymous> (/stremio/server.js:46140:58)
    at Object.onceWrapper (events.js:422:26)
    at EventEmitter.emit (events.js:315:20)
    at EventEmitter.emit (domain.js:486:12)
    at /stremio/server.js:46185:35
    at processTicksAndRejections (internal/process/task_queues.js:75:11)

Server starting logs

Forcing HTTPS for serverURL.
Fixing unsupported media issues.
Fixing CORS.
hls executables located ->  { ffmpeg: '/usr/bin/ffmpeg', ffsplit: null }
Using app path -> /root/.stremio-server
Enabling casting...
(node:11) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
EngineFS server started at http://127.0.0.1:11470
EngineFS HTTPS endpoint at https://local.strem.io:12470
-> GET /settings

Streaming Server setup

image

Stremio Web Error ( Video is not supported)

image

Playback Error

It shows playback error for most streams.
Only 4k Streams seem to work without error.
But When checking server logs it has loaded the stream and we can acess it from the direct link.
but it doesnt work from the stremio web console.
Video : https://streamable.com/98bccx

[bug] Subtitle option is missing for shows

Describe the bug
The subtitle option in the player bar is missing for shows, even the video supports it.
In the client version, there is subtitle option can be seen

Docker version
image

Client version (Windows)
image

Steps to Reproduce
Watch any episodes of Court Cam and Cops. Check on client side too to confirm the issue

streaming server not avaible

I am using this command to start the server
docker run -e FORCE_HTTPS=1 -e FIX_CORS=1 ....

and its started
Screenshot_3

but in the hosted site its showing Streaming server is not available.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.