Skip to content

Templates Catalog

joshuaaferguson edited this page Nov 15, 2025 · 2 revisions

Templates Catalog

This page aggregates content from the streamspace-templates repository so operators can browse available workspaces without leaving the wiki.

Repository Overview

  • Location: https://github.com/JoshuaAFerguson/streamspace-templates
  • Structure:
    • browsers/, development/, productivity/, design/, media/, gaming/, webtop/
    • catalog.yaml – metadata for discovery and automated sync
    • CONTRIBUTING.md – submission standards and validation commands

Categories & Featured Templates

  • Web Browsers: Firefox, Chromium, Brave, LibreWolf (privacy-focused choices).
  • Development: VS Code, GitHub Desktop, Sublime Text for IDE/Git workflows.
  • Productivity: LibreOffice, Calligra, OnlyOffice.
  • Design: GIMP, Krita, Inkscape, Blender, darktable.
  • Media: Audacity, Kdenlive for audio/video editing.
  • Gaming/Emulation: DuckStation, Dolphin (controller-friendly VNC).
  • Webtop: Ubuntu, Alpine, Arch desktops for full graphical environments.

Each template is a stream.space/v1alpha1 Template with metadata, icon, base image, resource defaults, env vars, volume mounts, ports, and tags. Example snippet:

apiVersion: stream.space/v1alpha1
kind: Template
metadata:
  name: firefox-browser
spec:
  displayName: Firefox Web Browser
  category: Web Browsers
  baseImage: lscr.io/linuxserver/firefox:latest
  defaultResources:
    memory: 2Gi
    cpu: 1000m
  vnc:
    enabled: true
    port: 3000

Deployment

# Apply entire catalog
kubectl apply -f https://raw.githubusercontent.com/JoshuaAFerguson/streamspace-templates/main/catalog.yaml

# Apply a category
kubectl apply -f https://raw.githubusercontent.com/JoshuaAFerguson/streamspace-templates/main/browsers/

# Apply a single template
kubectl apply -f https://raw.githubusercontent.com/JoshuaAFerguson/streamspace-templates/main/browsers/firefox.yaml

Auto-sync via Helm values:

repositories:
  templates:
    enabled: true
    url: https://github.com/JoshuaAFerguson/streamspace-templates
    branch: main
    syncInterval: "1h"

Contribution Guidelines

  1. Fork the templates repo and create a YAML file in the relevant category.
  2. Use lowercase kebab-case file names (e.g., firefox-browser.yaml).
  3. Define resources responsibly (2Gi RAM / 1 CPU typical) and document dependencies/env vars.
  4. Update catalog.yaml with metadata and icon references.
  5. Validate with kubectl apply --dry-run=client and --server-dry-run.
  6. Submit a PR including testing notes (screenshots or CLI output).

⚠️ Current templates often rely on LinuxServer.io images with KasmVNC; Phase 6 (v2.0) will migrate to native TigerVNC + noVNC images. Track progress via Roadmap-and-Releases and docs/VNC_MIGRATION.md.

Clone this wiki locally