diff --git a/audio-video/spotube.yaml b/audio-video/spotube.yaml deleted file mode 100644 index 65fa803..0000000 --- a/audio-video/spotube.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: spotube - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Spotube - description: Spotube is an open source, cross-platform Spotify client compatible - across multiple platforms utilizing Spotify's data API and YouTube, Piped.video - or JioSaavn as an audio source, eliminating the need for Spotify Premium - category: Media - baseImage: lscr.io/linuxserver/spotube:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: http - containerPort: 8080 - 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: - - spotube - - media diff --git a/browsers/mullvad-browser.yaml b/browsers/mullvad-browser.yaml deleted file mode 100644 index 51d6b70..0000000 --- a/browsers/mullvad-browser.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: mullvad-browser - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Mullvad-Browser - description: The [Mullvad Browser] is a privacy-focused web browser developed in - a collaboration between Mullvad VPN and the Tor Project. It’s designed to minimize - tracking and fingerprinting. You could say it’s a Tor Browser to use without the - Tor Network. Instead, you can use it with a trustworthy VPN. - category: Web Browser,VPN - baseImage: lscr.io/linuxserver/mullvad-browser:latest - defaultResources: - memory: 2Gi - cpu: 1000m - ports: - - name: http - containerPort: 8080 - 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: - - mullvad-browser - - web-browservpn diff --git a/development/gitqlient.yaml b/development/gitqlient.yaml deleted file mode 100644 index 611e941..0000000 --- a/development/gitqlient.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: gitqlient - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Gitqlient - description: GitQlient is a multi-platform Git client originally forked from QGit. - Nowadays it goes beyond of just a fork and adds a lot of new functionality. - category: Development - baseImage: lscr.io/linuxserver/gitqlient:latest - defaultResources: - memory: 4Gi - cpu: 2000m - ports: - - name: http - containerPort: 8080 - 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: - - gitqlient - - development diff --git a/images/bitcoin-knots-selkies/Dockerfile b/images/bitcoin-knots-selkies/Dockerfile new file mode 100644 index 0000000..0be7a82 --- /dev/null +++ b/images/bitcoin-knots-selkies/Dockerfile @@ -0,0 +1,37 @@ +# StreamSpace Bitcoin Knots with Selkies-GStreamer (WebRTC) +# +# Bitcoin Knots is a derivative of Bitcoin Core with additional +# features, frequently rebased. Distributed as a self-contained +# tar.gz from bitcoinknots/bitcoin GitHub releases — extract to +# /opt/bitcoin-knots/ and symlink the GUI binary. +# +# Mount your data dir at runtime (e.g. -v /host/bitcoin:/home/user/.bitcoin) +# to avoid re-downloading the blockchain on every container start. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Bitcoin Knots" +LABEL org.opencontainers.image.description="Bitcoin Knots full-node + GUI wallet 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; \ + tar_url="$(curl -fsSL https://api.github.com/repos/bitcoinknots/bitcoin/releases/latest \ + | jq -r '.assets[] | select(.name | test("^bitcoin-.*-x86_64-linux-gnu\\.tar\\.gz$")) | .browser_download_url' \ + | head -1)"; \ + if [ -z "${tar_url}" ]; then echo "Could not resolve Bitcoin Knots tarball URL" >&2; exit 1; fi; \ + curl -fsSL -o /tmp/bitcoin-knots.tar.gz "${tar_url}"; \ + install -d -m 0755 /opt; \ + tar xzf /tmp/bitcoin-knots.tar.gz -C /opt; \ + rm -f /tmp/bitcoin-knots.tar.gz; \ + # Tarball extracts to a versioned dir (e.g. bitcoin-29.3.knots20260210). + # Rename to /opt/bitcoin-knots/ for a stable CMD path. + mv /opt/bitcoin-* /opt/bitcoin-knots; \ + ln -s /opt/bitcoin-knots/bin/bitcoin-qt /usr/local/bin/bitcoin-qt + +USER user +CMD ["bitcoin-qt"] diff --git a/images/bitcoin-knots-selkies/PLATFORMS b/images/bitcoin-knots-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/bitcoin-knots-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/calligra-selkies/Dockerfile b/images/calligra-selkies/Dockerfile new file mode 100644 index 0000000..f3de20e --- /dev/null +++ b/images/calligra-selkies/Dockerfile @@ -0,0 +1,26 @@ +# StreamSpace Calligra with Selkies-GStreamer (WebRTC) +# +# Calligra is the KDE productivity & creative suite (Words, Sheets, +# Stage, Karbon, Plan). The `calligra` meta-package pulls all the +# core apps in. Heavyweight install (~600 MB) but covers an entire +# office workflow in one image. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Calligra" +LABEL org.opencontainers.image.description="Calligra KDE productivity suite 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 apt-get update && \ + apt-get install -y --no-install-recommends calligra && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user +# calligra meta-package doesn't ship a single launcher — open the +# Words app by default; users can launch other Calligra apps from +# inside it or via the menu. +CMD ["calligrawords"] diff --git a/images/calligra-selkies/PLATFORMS b/images/calligra-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/calligra-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/gitqlient-selkies/Dockerfile b/images/gitqlient-selkies/Dockerfile new file mode 100644 index 0000000..07cddb9 --- /dev/null +++ b/images/gitqlient-selkies/Dockerfile @@ -0,0 +1,29 @@ +# StreamSpace GitQlient with Selkies-GStreamer (WebRTC) +# +# GitQlient is a Qt-based git GUI. Vendor .deb from francescmm/GitQlient +# GitHub releases. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace GitQlient" +LABEL org.opencontainers.image.description="GitQlient Qt-based git GUI 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; \ + deb_url="$(curl -fsSL https://api.github.com/repos/francescmm/GitQlient/releases/latest \ + | jq -r '.assets[] | select(.name | test("^gitqlient_.*_amd64\\.deb$")) | .browser_download_url' \ + | head -1)"; \ + if [ -z "${deb_url}" ]; then echo "Could not resolve GitQlient .deb URL" >&2; exit 1; fi; \ + curl -fsSL -o /tmp/gitqlient.deb "${deb_url}"; \ + apt-get update; \ + apt-get install -y --no-install-recommends /tmp/gitqlient.deb; \ + rm -f /tmp/gitqlient.deb; \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user +CMD ["gitqlient"] diff --git a/images/gitqlient-selkies/PLATFORMS b/images/gitqlient-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/gitqlient-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/mullvad-browser-selkies/Dockerfile b/images/mullvad-browser-selkies/Dockerfile new file mode 100644 index 0000000..74db899 --- /dev/null +++ b/images/mullvad-browser-selkies/Dockerfile @@ -0,0 +1,31 @@ +# StreamSpace Mullvad Browser with Selkies-GStreamer (WebRTC) +# +# Mullvad Browser is Tor Browser derivative collaboration between Tor +# Project and Mullvad VPN — designed to use without the Tor network +# (intended for users who want Tor's anti-fingerprinting against a +# regular VPN like Mullvad). Mullvad's apt repo at +# repository.mullvad.net/deb/stable also ships mullvad-vpn and the +# alpha browser variant. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Mullvad Browser" +LABEL org.opencontainers.image.description="Mullvad Browser (Tor-derived privacy 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://repository.mullvad.net/deb/mullvad-keyring.asc \ + | gpg --dearmor -o /etc/apt/keyrings/mullvad-keyring.gpg; \ + echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mullvad-keyring.gpg] https://repository.mullvad.net/deb/stable stable main" \ + > /etc/apt/sources.list.d/mullvad.list; \ + apt-get update && apt-get install -y --no-install-recommends mullvad-browser; \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +USER user +CMD ["mullvad-browser"] diff --git a/images/mullvad-browser-selkies/PLATFORMS b/images/mullvad-browser-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/mullvad-browser-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/images/spotube-selkies/Dockerfile b/images/spotube-selkies/Dockerfile new file mode 100644 index 0000000..5ed31b0 --- /dev/null +++ b/images/spotube-selkies/Dockerfile @@ -0,0 +1,36 @@ +# StreamSpace Spotube with Selkies-GStreamer (WebRTC) +# +# Spotube is a third-party Spotify client that uses public APIs + +# YouTube Music as the audio backend (no Spotify Premium required). +# Distributed as AppImage on x86_64 (the .deb on GitHub Releases is +# aarch64-only). Standard --appimage-extract pattern. + +FROM ghcr.io/streamspace-dev/selkies-base:latest + +LABEL org.opencontainers.image.title="StreamSpace Spotube" +LABEL org.opencontainers.image.description="Spotube Spotify client 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; \ + img_url="$(curl -fsSL https://api.github.com/repos/KRTirtho/spotube/releases/latest \ + | jq -r '.assets[] | select(.name == "Spotube-linux-x86_64.AppImage") | .browser_download_url' \ + | head -1)"; \ + if [ -z "${img_url}" ]; then echo "Could not resolve Spotube AppImage URL" >&2; exit 1; fi; \ + cd /tmp; \ + curl -fsSL -o spotube.AppImage "${img_url}"; \ + chmod +x spotube.AppImage; \ + ./spotube.AppImage --appimage-extract >/dev/null; \ + if [ -d squashfs-root ] && [ ! -L squashfs-root ]; then \ + mv squashfs-root /opt/spotube; \ + else \ + mv AppDir /opt/spotube; \ + fi; \ + rm -rf spotube.AppImage AppDir squashfs-root + +USER user +CMD ["/opt/spotube/AppRun"] diff --git a/images/spotube-selkies/PLATFORMS b/images/spotube-selkies/PLATFORMS new file mode 100644 index 0000000..303dc7a --- /dev/null +++ b/images/spotube-selkies/PLATFORMS @@ -0,0 +1 @@ +linux/amd64 diff --git a/productivity/bitcoin-knots.yaml b/productivity/bitcoin-knots.yaml deleted file mode 100644 index 23e2a14..0000000 --- a/productivity/bitcoin-knots.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: bitcoin-knots - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Bitcoin-Knots - description: Bitcoin Knots can be used as a desktop client for regular payments - or as a full node server utility for merchants and other payment services. - category: Productivity - baseImage: lscr.io/linuxserver/bitcoin-knots:latest - defaultResources: - memory: 3Gi - cpu: 1500m - 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: - - bitcoin-knots - - productivity diff --git a/productivity/calligra.yaml b/productivity/calligra.yaml deleted file mode 100644 index 6430d45..0000000 --- a/productivity/calligra.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: stream.space/v1alpha1 -kind: Template -metadata: - name: calligra - namespace: workspaces - annotations: - streamspace.dev/image-status: pending-migration -spec: - displayName: Calligra - description: Calligra is an office and graphic art suite by KDE. It is available - for desktop PCs, tablet computers, and smartphones. It contains applications for - word processing, spreadsheets, presentation, vector graphics, and editing databases. - category: Productivity - baseImage: lscr.io/linuxserver/calligra:latest - defaultResources: - memory: 3Gi - cpu: 1500m - 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: - - calligra - - productivity diff --git a/selkies/bitcoin-knots-selkies.yaml b/selkies/bitcoin-knots-selkies.yaml new file mode 100644 index 0000000..44bc221 --- /dev/null +++ b/selkies/bitcoin-knots-selkies.yaml @@ -0,0 +1,48 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: bitcoin-knots-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: bitcoin-knots-selkies + app.kubernetes.io/component: template + streamspace.io/category: productivity + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Bitcoin Knots + description: Bitcoin Knots full-node + GUI wallet (Bitcoin Core derivative with extra features) streamed via Selkies-GStreamer (WebRTC). Mount your blockchain data dir at /home/user/.bitcoin to avoid resyncing. + category: Productivity + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/bitcoin-knots.svg + baseImage: ghcr.io/streamspace-dev/bitcoin-knots-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 4Gi + cpu: 2000m + limits: + memory: 8Gi + cpu: 4000m + 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: 'false' + capabilities: + - Network + - Clipboard + tags: + - productivity + - bitcoin + - cryptocurrency + - bitcoin-knots + - selkies diff --git a/selkies/calligra-selkies.yaml b/selkies/calligra-selkies.yaml new file mode 100644 index 0000000..48aa961 --- /dev/null +++ b/selkies/calligra-selkies.yaml @@ -0,0 +1,48 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: calligra-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: calligra-selkies + app.kubernetes.io/component: template + streamspace.io/category: productivity + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Calligra + description: Calligra KDE productivity & creative suite (Words, Sheets, Stage, Karbon, Plan) streamed via Selkies-GStreamer (WebRTC). + category: Productivity + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/calligra.svg + baseImage: ghcr.io/streamspace-dev/calligra-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 3Gi + cpu: 1500m + limits: + memory: 3Gi + cpu: 3000m + 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: 'false' + capabilities: + - Network + - Clipboard + tags: + - productivity + - office + - kde + - calligra + - selkies diff --git a/selkies/gitqlient-selkies.yaml b/selkies/gitqlient-selkies.yaml new file mode 100644 index 0000000..273c709 --- /dev/null +++ b/selkies/gitqlient-selkies.yaml @@ -0,0 +1,47 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: gitqlient-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: gitqlient-selkies + app.kubernetes.io/component: template + streamspace.io/category: development + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: GitQlient + description: GitQlient Qt-based git GUI streamed via Selkies-GStreamer (WebRTC). + category: Development + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/gitqlient.svg + baseImage: ghcr.io/streamspace-dev/gitqlient-selkies:latest + streamingProtocol: selkies + defaultResources: + requests: + memory: 1Gi + cpu: 500m + limits: + memory: 2Gi + cpu: 1000m + 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: 'false' + capabilities: + - Network + - Clipboard + tags: + - development + - git + - gitqlient + - selkies diff --git a/selkies/mullvad-browser-selkies.yaml b/selkies/mullvad-browser-selkies.yaml new file mode 100644 index 0000000..f17ed72 --- /dev/null +++ b/selkies/mullvad-browser-selkies.yaml @@ -0,0 +1,50 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: mullvad-browser-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: mullvad-browser-selkies + app.kubernetes.io/component: template + streamspace.io/category: web-browsers + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Mullvad Browser + description: Mullvad Browser (Tor-derived privacy browser, no Tor network required) streamed via Selkies-GStreamer (WebRTC). + category: Web Browsers + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/mullvad-browser.svg + baseImage: ghcr.io/streamspace-dev/mullvad-browser-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 + - tor-derived + - mullvad-browser + - selkies diff --git a/selkies/spotube-selkies.yaml b/selkies/spotube-selkies.yaml new file mode 100644 index 0000000..20fb496 --- /dev/null +++ b/selkies/spotube-selkies.yaml @@ -0,0 +1,49 @@ +apiVersion: stream.space/v1alpha1 +kind: Template +metadata: + name: spotube-selkies + namespace: workspaces + labels: + app.kubernetes.io/name: spotube-selkies + app.kubernetes.io/component: template + streamspace.io/category: audio-video + streamspace.io/streaming-protocol: selkies + annotations: + streamspace.dev/image-status: published +spec: + displayName: Spotube + description: Spotube third-party Spotify client (no Premium required) streamed via Selkies-GStreamer (WebRTC). + category: Audio & Video + icon: https://raw.githubusercontent.com/streamspace-dev/streamspace/main/ui/public/icons/spotube.svg + baseImage: ghcr.io/streamspace-dev/spotube-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: + - audio-video + - music-player + - spotify + - spotube + - selkies