diff --git a/browsers/librewolf.yaml b/browsers/librewolf.yaml deleted file mode 100644 index 9d2d433..0000000 --- a/browsers/librewolf.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: librewolf - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Librewolf - description: LibreWolf is a custom and independent version of Firefox, with the - primary goals of privacy, security and user freedom. LibreWolf also aims to remove - all the telemetry, data collection and annoyances, as well as disabling anti-freedom - features like DRM. - category: Web Browsers - baseImage: lscr.io/linuxserver/librewolf:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: '1000' - - name: PGID - value: '1000' - - name: TZ - value: America/New_York - volumeMounts: - - name: user-home - mountPath: /config - capabilities: - - Network - - Clipboard - tags: - - librewolf - - web-browsers diff --git a/browsers/opera.yaml b/browsers/opera.yaml deleted file mode 100644 index c381009..0000000 --- a/browsers/opera.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: opera - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Opera - description: Opera is a multi-platform web browser developed by its namesake company - Opera. The browser is based on Chromium, but distinguishes itself from other Chromium-based - browsers (Chrome, Edge, etc.) through its user interface and other features. - category: Web Browsers - baseImage: lscr.io/linuxserver/opera:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: '1000' - - name: PGID - value: '1000' - - name: TZ - value: America/New_York - volumeMounts: - - name: user-home - mountPath: /config - capabilities: - - Network - - Clipboard - tags: - - opera - - web-browsers diff --git a/browsers/vivaldi.yaml b/browsers/vivaldi.yaml deleted file mode 100644 index 76e78eb..0000000 --- a/browsers/vivaldi.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: vivaldi - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Vivaldi - description: Vivaldi is a Norwegian freeware, cross-platform web browser with a - built-in email client developed by Vivaldi Technologies. - category: Web Browsers - baseImage: lscr.io/linuxserver/vivaldi:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: vnc - containerPort: 3000 - protocol: TCP - env: - - name: PUID - value: '1000' - - name: PGID - value: '1000' - - name: TZ - value: America/New_York - volumeMounts: - - name: user-home - mountPath: /config - capabilities: - - Network - - Clipboard - tags: - - vivaldi - - web-browsers diff --git a/images/brave-selkies/Dockerfile b/images/brave-selkies/Dockerfile new file mode 100644 index 0000000..5e39b13 --- /dev/null +++ b/images/brave-selkies/Dockerfile @@ -0,0 +1,32 @@ +# StreamSpace Brave with Selkies-GStreamer (WebRTC) +# +# Brave's official apt repo. Chromium-based; same Electron sandbox +# limitation as Chrome — needs --no-sandbox in unprivileged containers. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Brave" +LABEL org.opencontainers.image.description="Brave browser with Selkies-GStreamer (WebRTC) streaming for StreamSpace" +LABEL org.opencontainers.image.version="1.0.0" +LABEL org.opencontainers.image.vendor="StreamSpace" +LABEL org.opencontainers.image.source="https://github.com/streamspace-dev/streamspace-templates" + +USER root +ARG DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + install -d -m 0755 /etc/apt/keyrings; \ + curl -fsSL https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg \ + -o /etc/apt/keyrings/brave-browser-archive-keyring.gpg; \ + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" \ + > /etc/apt/sources.list.d/brave-browser-release.list; \ + apt-get update && apt-get install -y --no-install-recommends brave-browser; \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user + +CMD ["brave-browser", \ + "--no-sandbox", \ + "--disable-dev-shm-usage", \ + "--disable-gpu-sandbox", \ + "--start-maximized"] diff --git a/images/brave-selkies/PLATFORMS b/images/brave-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/brave-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/librewolf-selkies/Dockerfile b/images/librewolf-selkies/Dockerfile new file mode 100644 index 0000000..4c70578 --- /dev/null +++ b/images/librewolf-selkies/Dockerfile @@ -0,0 +1,31 @@ +# StreamSpace LibreWolf with Selkies-GStreamer (WebRTC) +# +# LibreWolf is a privacy-hardened Firefox fork. Their apt repo at +# repo.librewolf.net (note: deb.librewolf.net is a different host that +# 404s; repo.librewolf.net is the canonical one). +# +# Suite name is "librewolf" (not Ubuntu-codename-specific) — same +# packages work across noble/jammy/bookworm. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace LibreWolf" +LABEL org.opencontainers.image.description="LibreWolf privacy-hardened Firefox fork with Selkies-GStreamer (WebRTC) streaming for StreamSpace" +LABEL org.opencontainers.image.version="1.0.0" +LABEL org.opencontainers.image.vendor="StreamSpace" +LABEL org.opencontainers.image.source="https://github.com/streamspace-dev/streamspace-templates" + +USER root +ARG DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + install -d -m 0755 /etc/apt/keyrings; \ + curl -fsSL https://repo.librewolf.net/pubkey.gpg \ + | gpg --dearmor -o /etc/apt/keyrings/librewolf.gpg; \ + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/librewolf.gpg] https://repo.librewolf.net/ librewolf main" \ + > /etc/apt/sources.list.d/librewolf.list; \ + apt-get update && apt-get install -y --no-install-recommends librewolf; \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user +CMD ["librewolf"] diff --git a/images/librewolf-selkies/PLATFORMS b/images/librewolf-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/librewolf-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/opera-selkies/Dockerfile b/images/opera-selkies/Dockerfile new file mode 100644 index 0000000..0536bb6 --- /dev/null +++ b/images/opera-selkies/Dockerfile @@ -0,0 +1,32 @@ +# StreamSpace Opera with Selkies-GStreamer (WebRTC) +# +# Opera's official apt repo. Note the suite name is "stable" with +# component "non-free" (Opera is proprietary). + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Opera" +LABEL org.opencontainers.image.description="Opera browser with Selkies-GStreamer (WebRTC) streaming for StreamSpace" +LABEL org.opencontainers.image.version="1.0.0" +LABEL org.opencontainers.image.vendor="StreamSpace" +LABEL org.opencontainers.image.source="https://github.com/streamspace-dev/streamspace-templates" + +USER root +ARG DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + install -d -m 0755 /etc/apt/keyrings; \ + curl -fsSL https://deb.opera.com/archive.key \ + | gpg --dearmor -o /etc/apt/keyrings/opera.gpg; \ + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/opera.gpg] https://deb.opera.com/opera-stable/ stable non-free" \ + > /etc/apt/sources.list.d/opera-stable.list; \ + apt-get update && apt-get install -y --no-install-recommends opera-stable; \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user + +CMD ["opera", \ + "--no-sandbox", \ + "--disable-dev-shm-usage", \ + "--disable-gpu-sandbox", \ + "--start-maximized"] diff --git a/images/opera-selkies/PLATFORMS b/images/opera-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/opera-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/vivaldi-selkies/Dockerfile b/images/vivaldi-selkies/Dockerfile new file mode 100644 index 0000000..f9abe6b --- /dev/null +++ b/images/vivaldi-selkies/Dockerfile @@ -0,0 +1,31 @@ +# StreamSpace Vivaldi with Selkies-GStreamer (WebRTC) +# +# Vivaldi's official apt repo. Chromium-based; same --no-sandbox. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Vivaldi" +LABEL org.opencontainers.image.description="Vivaldi browser with Selkies-GStreamer (WebRTC) streaming for StreamSpace" +LABEL org.opencontainers.image.version="1.0.0" +LABEL org.opencontainers.image.vendor="StreamSpace" +LABEL org.opencontainers.image.source="https://github.com/streamspace-dev/streamspace-templates" + +USER root +ARG DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + install -d -m 0755 /etc/apt/keyrings; \ + curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub \ + | gpg --dearmor -o /etc/apt/keyrings/vivaldi.gpg; \ + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/vivaldi.gpg] https://repo.vivaldi.com/archive/deb/ stable main" \ + > /etc/apt/sources.list.d/vivaldi.list; \ + apt-get update && apt-get install -y --no-install-recommends vivaldi-stable; \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user + +CMD ["vivaldi", \ + "--no-sandbox", \ + "--disable-dev-shm-usage", \ + "--disable-gpu-sandbox", \ + "--start-maximized"] diff --git a/images/vivaldi-selkies/PLATFORMS b/images/vivaldi-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/vivaldi-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/selkies/brave-selkies.yaml b/selkies/brave-selkies.yaml new file mode 100644 index 0000000..8255c43 --- /dev/null +++ b/selkies/brave-selkies.yaml @@ -0,0 +1,49 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: brave-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: brave-selkies + app.kubernetes.io/component: template + streamspace.io/category: web-browsers + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Brave + description: Brave browser (privacy-focused Chromium fork) streamed via Selkies-GStreamer (WebRTC). + category: Web Browsers + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/brave.svg + baseImage: ghcr.io/streamspace-dev/brave-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 2Gi + cpu: 1000m + limits: + memory: 2Gi + cpu: 2000m + ports: + - name: selkies + containerPort: 8080 + protocol: TCP + env: + - name: TZ + value: UTC + - name: DISPLAY_SIZEW + value: '1920' + - name: DISPLAY_SIZEH + value: '1080' + - name: SELKIES_ENABLE_AUDIO + value: 'true' + capabilities: + - Network + - Audio + - Clipboard + tags: + - browser + - web + - privacy + - brave + - selkies diff --git a/selkies/librewolf-selkies.yaml b/selkies/librewolf-selkies.yaml new file mode 100644 index 0000000..ad15107 --- /dev/null +++ b/selkies/librewolf-selkies.yaml @@ -0,0 +1,50 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: librewolf-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: librewolf-selkies + app.kubernetes.io/component: template + streamspace.io/category: web-browsers + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: LibreWolf + description: LibreWolf privacy-hardened Firefox fork streamed via Selkies-GStreamer (WebRTC). + category: Web Browsers + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/librewolf.svg + baseImage: ghcr.io/streamspace-dev/librewolf-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 2Gi + cpu: 1000m + limits: + memory: 2Gi + cpu: 2000m + ports: + - name: selkies + containerPort: 8080 + protocol: TCP + env: + - name: TZ + value: UTC + - name: DISPLAY_SIZEW + value: '1920' + - name: DISPLAY_SIZEH + value: '1080' + - name: SELKIES_ENABLE_AUDIO + value: 'true' + capabilities: + - Network + - Audio + - Clipboard + tags: + - browser + - web + - privacy + - firefox-fork + - librewolf + - selkies diff --git a/selkies/opera-selkies.yaml b/selkies/opera-selkies.yaml new file mode 100644 index 0000000..8d9bb86 --- /dev/null +++ b/selkies/opera-selkies.yaml @@ -0,0 +1,48 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: opera-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: opera-selkies + app.kubernetes.io/component: template + streamspace.io/category: web-browsers + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Opera + description: Opera browser streamed via Selkies-GStreamer (WebRTC). + category: Web Browsers + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/opera.svg + baseImage: ghcr.io/streamspace-dev/opera-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 2Gi + cpu: 1000m + limits: + memory: 2Gi + cpu: 2000m + ports: + - name: selkies + containerPort: 8080 + protocol: TCP + env: + - name: TZ + value: UTC + - name: DISPLAY_SIZEW + value: '1920' + - name: DISPLAY_SIZEH + value: '1080' + - name: SELKIES_ENABLE_AUDIO + value: 'true' + capabilities: + - Network + - Audio + - Clipboard + tags: + - browser + - web + - opera + - selkies diff --git a/selkies/vivaldi-selkies.yaml b/selkies/vivaldi-selkies.yaml new file mode 100644 index 0000000..274b24c --- /dev/null +++ b/selkies/vivaldi-selkies.yaml @@ -0,0 +1,48 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: vivaldi-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: vivaldi-selkies + app.kubernetes.io/component: template + streamspace.io/category: web-browsers + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Vivaldi + description: Vivaldi browser (highly customizable Chromium fork) streamed via Selkies-GStreamer (WebRTC). + category: Web Browsers + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/vivaldi.svg + baseImage: ghcr.io/streamspace-dev/vivaldi-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 2Gi + cpu: 1000m + limits: + memory: 2Gi + cpu: 2000m + ports: + - name: selkies + containerPort: 8080 + protocol: TCP + env: + - name: TZ + value: UTC + - name: DISPLAY_SIZEW + value: '1920' + - name: DISPLAY_SIZEH + value: '1080' + - name: SELKIES_ENABLE_AUDIO + value: 'true' + capabilities: + - Network + - Audio + - Clipboard + tags: + - browser + - web + - vivaldi + - selkies