stremio-web Docker & Self-Hosted Deployment

GitHub

Stremio - Freedom to Stream

14,640 stars JavaScript JavaScript 1 file ยท ~1,062 tokens #hacktoberfest#stremio
1. Pull Image (DOCKERHUB) docker pull Stremio/stremio-web:latest
2. Docker Run (1-Click Launch) docker run -d --name stremio-web -p 8080:8080 --restart always stremio/stremio-web:latest
3. Podman Run podman run -d --name stremio-web -p 8080:8080 --restart always stremio/stremio-web:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/stremio/stremio-web:latest
5. ORAS Pull (OCI Artifact) oras pull stremio/stremio-web:latest
Dockerfile
# the node version for running Stremio Web
ARG NODE_VERSION=22-alpine
FROM node:$NODE_VERSION AS base

# Setup pnpm
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"

RUN corepack enable
RUN apk add --no-cache git

# Meta
LABEL Description="Stremio Web" Vendor="Smart Code OOD" Version="1.0.0"

RUN mkdir -p /var/www/stremio-web
WORKDIR /var/www/stremio-web

# Setup app
FROM base AS app

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml /var/www/stremio-web
RUN pnpm i --frozen-lockfile

COPY . /var/www/stremio-web
RUN pnpm build

# Setup server
FROM base AS server

RUN pnpm i express@4

# Finalize
FROM base

COPY http_server.js /var/www/stremio-web
COPY --from=server /var/www/stremio-web/node_modules /var/www/stremio-web/node_modules
COPY --from=app /var/www/stremio-web/build /var/www/stremio-web/build

EXPOSE 8080
CMD ["node", "http_server.js"]