Before getting started, be aware that this does require a server to run the Stremio backend, it can not be ran just on an iOS device. Optionally you will also need a domain to use it outside of your local network and as a PWA.
Another note before we start, you will need to be on iOS 17.1 Beta 2 or newer as you need Managed Media Sources in Safari.
First thing you need to do is set up Docker and Docker-compose on your server, if you do not know how to, this tutorial may not be for you.
Currently Stremio uses an outdated version of hls.js which will not work on iOS, so you will either need to build stremio-web with my fork of stremio-video or you can download my compiled version here.
Next up we will create a Caddyfile like this:
http:// {
basicauth {
myname passwordhash
}
root * /web
file_server
respond /casting 200 {
body "[]"
close
}
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
uri replace https%3A%2F%2Fyour.domain.here http%3A%2F%2F127.0.0.1%3A11470
reverse_proxy @404 gluetun:11470
}
}
Replace the myname, passwordhash, and your.domain.here strings with your own values. If you do not plan to use Stremio outside your local network put the internal IP and port of the machine you are using instead of your domain. You can remove the basicauth, but I recommend keeping it if you are going to be exposing your instance publicly.
Next we will create the docker-compose.yml as follows:
version: "3.20"
services:
gluetun:
image: qmcgaw/gluetun
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=openvpn
- OPENVPN_USER=...
- SERVER_CITIES=...
- FIREWALL_OUTBOUND_SUBNETS=192.168.0.0/24
- FIREWALL_INPUT_PORTS=11470
caddy:
image: caddy:latest
ports:
- 1000:80
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./build:/web
depends_on:
- gluetun
server:
image: stremio/server:latest
network_mode: "service:gluetun"
environment:
- NO_CORS=1
I'm using Mullvad, but you can use any VPN by looking at the gluetun documentation or you can skip using gluetun entirely.
Now that everything is set up, just point your domain to your machine with whatever steps that involves for you.
Lastly just go to your domain in the browser and set the streaming url to https://your.domain.here in the settings and you should be good to go.
Top comments (0)