feat: add 5 Selkies images (freecad, obsidian, thunderbird, obs-studio, kdenlive)#17
Conversation
freecad-selkies (PPA install):
Pulls software-properties-common just to invoke add-apt-repository,
enables ppa:freecad-maintainers/freecad-stable, installs freecad,
then purges software-properties-common to keep image lean.
Reason: freecad was removed from Ubuntu 24.04 archives entirely.
obsidian-selkies (.deb from GitHub releases):
At build time, hits api.github.com/repos/obsidianmd/obsidian-releases
/releases/latest with jq to resolve the latest amd64 .deb URL, then
curl + apt install. Rebuilds get the latest version automatically.
CMD: ["obsidian", "--no-sandbox"] (Electron sandbox).
thunderbird-selkies (Mozilla tarball):
Mozilla's apt repo (packages.mozilla.org) only ships Firefox variants
— no Thunderbird — so we install from the official tarball at
download.mozilla.org/?product=thunderbird-latest&os=linux64. Tarball
is self-contained; runtime libs (gtk3, dbus, alsa) are in the base.
Symlinks /opt/thunderbird/thunderbird → /usr/local/bin/thunderbird.
obs-studio-selkies (Ubuntu apt):
apt install obs-studio. SELKIES_ENABLE_AUDIO=true so screen-recording
with audio works. 8 GiB memory limit (request 4) — capture buffers
can grow large.
kdenlive-selkies (Ubuntu apt):
apt install kdenlive. SELKIES_ENABLE_AUDIO=true. 8 GiB memory limit
for video editing buffers.
Removed legacy KasmVNC templates:
- design/freecad.yaml
- audio-video/kdenlive.yaml
Verified locally — built in parallel, ran each on a different port,
all five healthy and serving HTTP 200 with the right app process:
fc-test Up 26s healthy HTTP 200 | 31 freecad
ob-test Up 30s healthy HTTP 200 | 33 obsidian --no-sandbox
tb-test Up 18s healthy HTTP 200 | 32 thunderbird (multi-process,
Mozilla Thunderbird 150.0)
obs-test Up 33s healthy HTTP 200 | 32 obs
kd-test Up 33s healthy HTTP 200 | 32 kdenlive
Deferred from this batch:
- ungoogled-chromium-selkies: openSUSE OBS home:ungoogled_chromium
repo is empty (project moved off OBS). Need to research the current
binary distribution path (likely the ungoogled-chromium-binaries
GitHub project tracker).
Note on Thunderbird debugging: first iteration tried the Mozilla apt
repo with the same pin trick that works for firefox. apt installed
Ubuntu's snap-stub of thunderbird because Mozilla's apt repo doesn't
actually ship thunderbird — only firefox/firefox-beta/devedition/
nightly/esr/mozillavpn. The tarball install is the correct fix.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ebf7f0c863
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| curl -fsSL -o /tmp/thunderbird.tar.xz \ | ||
| "https://download.mozilla.org/?product=thunderbird-latest&os=linux64&lang=en-US"; \ | ||
| install -d -m 0755 /opt; \ | ||
| tar xJf /tmp/thunderbird.tar.xz -C /opt; \ |
There was a problem hiding this comment.
Use the correct tar format for Thunderbird download
download.mozilla.org/?product=thunderbird-latest&os=linux64 serves a bzip2-compressed tarball, but this Dockerfile saves it as .tar.xz and extracts with tar xJf (xz mode). In that case the extraction step fails during image build, so the thunderbird-selkies image cannot be produced. Switch to a bzip2 extraction path (or detect the archive type) so builds are reliable.
Useful? React with 👍 / 👎.
Summary
Five more Selkies-native images, each demonstrating a different non-Ubuntu install path. The diversity here is the point: most apps people want need something beyond plain `apt install`.
Install path notes
Removed legacy KasmVNC templates
`design/freecad.yaml`, `audio-video/kdenlive.yaml`. (No legacy entries existed for obsidian, thunderbird, or obs-studio — all three are NEW additions to the catalog.)
Local verification
```
fc-test Up 26s healthy HTTP 200 18227b | 31 freecad
ob-test Up 30s healthy HTTP 200 18227b | 33 obsidian --no-sandbox
tb-test Up 18s healthy HTTP 200 18227b | 32 thunderbird (Mozilla Thunderbird 150.0,
multi-process: parent + crashhelper +
tab + rdd + content procs)
obs-test Up 33s healthy HTTP 200 18227b | 32 obs
kd-test Up 33s healthy HTTP 200 18227b | 32 kdenlive
```
Deferred from this batch
Test plan
Catalog progress
After this lands: 18 published Selkies-native images. New categories covered: Communication (thunderbird), beyond-libreoffice productivity (obsidian), screen-recording (obs-studio), video editing (kdenlive). Next batches worth queueing: chat cluster (discord/slack/signal/element), dev cluster (godot/openscad/dbeaver), 3D-printer slicer cluster (prusaslicer/bambustudio/orcaslicer/cura).