Using Stremio Server with Public IP - tsaridas/stremio-docker GitHub Wiki
Scenario 2: HTTPS with Public IP
This option automatically gets a certificate for a *.stremio.rocks
subdomain and points it to your public IP address.
- Set
IPADDRESS=0.0.0.0
to auto-detect your public IP. - Expose port
8080
and configure port forwarding on your router.
docker run -d \
--name=stremio-docker \
-e IPADDRESS=0.0.0.0 \
-e AUTO_SERVER_URL=1 \
-p 8080:8080 \
-v ./stremio-data:/root/.stremio-server \
tsaridas/stremio-docker:latest
The container will generate a certificate and an A record for your public IP. To find the FQDN, look for a .pem
file in your mounted volume (./stremio-data
).
If you set your public IP address for the IPADDRESS environment variable, then the Stremio server should automatically set the certificate to the wildcard *.519b6502d940.stremio.rocks
and should generate an A record for your public IP address. You should then expose port 8080 to your server and then setup port forwarding on your router to point this port to your server. Once this is done you can point the WebPlayer to your streaming server on port 8080. Alternatively you can also pass AUTO_SERVER_URL=1
to the environmental variables of the container to automatically setup the server.
To find the FQDN that the certificate is pointing to, look at the folder you mounted for a file with a .pem
extension. The filename is the domain you need to use.
It's generally not suggested to expose stremio directly outside as it can become a security issue without basic HTTP authentication. Pass the environmental variables USERNAME
and PASSWORD
to the container to have that working.
If you setup the IPADDRESS
environment variable to 0.0.0.0
the container will automatically try to get your public IP address and setup the certificates and DNS. This won't work for IPv6.
Using Docker Compose:
services:
stremio:
image: tsaridas/stremio-docker:latest
restart: unless-stopped
environment:
IPADDRESS: 0.0.0.0 # Auto-detect public IP
AUTO_SERVER_URL: 1
# USERNAME: your_username # Optional: for basic auth
# PASSWORD: your_password # Optional: for basic auth
ports:
- "8080:8080"
volumes:
- "./stremio-data:/root/.stremio-server"