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"