Command-line tools¶
vistilla-cli: the upload client¶
crates/vistilla-cli builds the vistilla-cli binary (it is also in the Docker
image). It signs in and uploads video files from a terminal or a script.
export VISTILLA_PASSWORD='…' # or pass --password
vistilla-cli --url https://vistilla.example.com login --email me@example.com
vistilla-cli whoami
# shows you and your teams
vistilla-cli upload demo.mp4 --title "Sprint demo"
# uploads and prints the watch URL
| Option | Default | Meaning |
|---|---|---|
--url / VISTILLA_URL |
http://localhost:8787 |
Server address for login, which saves it. whoami and upload use the saved address. |
--credentials / VISTILLA_CREDENTIALS |
$XDG_CONFIG_HOME/vistilla/credentials.json, else ~/.config/vistilla/credentials.json |
Where the session is cached. |
upload <file> options:
| Option | Meaning |
|---|---|
--team |
Team to upload into. Defaults to your first team. |
--title |
Title. |
--duration-ms |
Length, if known. It improves the player's timeline. |
--visibility |
private, team (default) or org. |
--proxy |
Send the bytes through the API instead of straight to the object store. |
By default the CLI uploads straight to the object store with a presigned
PUT URL. When the server uses the filesystem store there is no such URL,
and the upload goes through the API.
Size limit
The CLI reads the whole file into memory and sends it in one piece, not
in parts. The server checks the size against VISTILLA_MAX_UPLOAD_BYTES
when reserving the video, so on the hosted instance files over 100 MB
are refused. Upload bigger files from the library, which sends them in
parts.
With Docker Compose:
vistilla-api passwd: reset a password on the server¶
When email is not set up, an operator can reset a password directly:
vistilla-api passwd someone@example.com # generates and prints a new password
vistilla-api passwd someone@example.com 'new-pass' # sets the given one
It signs that user out everywhere. In Docker, run it inside the container, for example:
Scripts (scripts/)¶
| Script | What it does |
|---|---|
smoke.sh [base-url] (default http://localhost:8787) |
End-to-end test of a running instance with curl: accounts, uploads, ranges, comments, invitations, roles, sharing, insights, moments, notifications, search, AI settings and bulk delete. Currently stops at the account step, because sign-up now needs the emailed code (see Testing). |
seed-demo.sh [base-url] (default http://localhost:8787) |
Meant to fill a fresh instance with a demo workspace: two accounts, a 30-second clip (made with ffmpeg), chapters, comments, tags, a share link and views. It has the same sign-up problem as smoke.sh. |
mail-relay.gs |
A Google Apps Script web app that sends Vistilla's email from a Gmail account (VISTILLA_MAIL_WEBHOOK_URL). |
linux-system-audio.sh on\|off\|status |
On Linux, creates a capture source named Vistilla-system-sound, so the recorder can capture computer sound. |
drop-coauthor-trailer.sh [--push] |
Repository maintenance: removes co-author trailers from commit messages. |