Add Videola - #1034
Open
fgilde wants to merge 1 commit into
Open
Conversation
A browser video editor with a Rust/WebAssembly core: timeline, keyframes, scopes, surround mix and MP4 export. One service on 7331, data under /DATA/AppData/$AppID/data. The packaged token is a placeholder the before_install tip asks the user to replace.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



New app: Videola
What it is: a video editor that runs in the browser, with its project model, command bus and file
format in a Rust core compiled to WebAssembly. Import footage, cut it on a timeline, keyframe
anything, grade against real scopes, mix to a loudness target and export an MP4 — on the device
running the container, with nothing uploaded anywhere. Templates that bake into ordinary editable
projects, motion blur averaged over eight real instants of a shutter, spectral noise reduction, 5.1
surround with a position per track, scene detection, plus an HTTP API and an MCP server for agents.
ghcr.io/fgilde/videola(GHCR, public)What is in the PR
Apps/Videola/docker-compose.yml7331→ container7331, data under/DATA/AppData/$AppID/dataicon.pngthumbnail.png,screenshot-1..3.pngMetadata:
id: org.gilde.videola,main: videola, category Media,index: /,port_map: "7331", architecturesamd64,version: 0.9.1,title,taglineanddescriptioninen_USandde_DE, atips.before_install, andwebsite/repo/support/docs.The token in the package is a placeholder
Every
/apicall needs a token asAuthorization: Bearer, and the server refuses to listen onanything but loopback without one — so a package with no token would install an app that cannot
serve. It therefore ships
VIDEOLA_TOKEN=change-this-token, and thebefore_installtip says, inso many words, to replace it in the install dialog (
openssl rand -hex 24). No host paths, nosocket, no privileged mode.
Architecture
amd64only, andarchitecturessays so; the image is not published for arm64 today.Validation
docker compose config -qon the app: clean../scripts/build_dist.shwith the app added: builds, anddist/index.jsongainsorg.gilde.videolawith the expected title, tagline, category, architectures, icon, thumbnail andversion;
dist/apps/org.gilde.videola/hasdocker-compose.amd64.yml,meta.jsonandmeta.de_DE.json. (rsvg-convertis missing on my machine, which affects every app equally.)the storage root and the token requirement are read from the server rather than typed out, so a
drifting package fails that build (
apps/server/src/deploy.test.ts).port and
/apianswers only with the token.