Running Clipper: settings and commands
This page is for whoever runs the server. People who only use Clipper never need it, so the Help page leaves all of this out.
Where the settings live
Settings go in clipper.env inside Clipper's data folder (the folder CLIPPER_ROOT points to). One NAME=value per line. After a change run pm2 restart clipper-web clipper-worker.
Other files kept in that folder: postiz_keys.json (each person's own Postiz key, readable only by the Clipper account) and the SQLite database.
Settings mentioned in the app
| Setting | What it does |
|---|---|
CLIPPER_ROOT |
Data folder: database, projects, clipper.env. |
CLIPPER_POSTIZ_URL |
Where Postiz is, as seen from this server (for example http://localhost:4007). Unset: no Send button. |
CLIPPER_POSTIZ_KEY |
The Postiz Public API key used by the owner login (below). |
CLIPPER_POSTIZ_OWNER |
The one login that uses CLIPPER_POSTIZ_KEY. Everyone else pastes their own key on the Postiz page. Unset: everyone shares the key. |
CLIPPER_POSTIZ_PUBLIC_URL |
Postiz's address as people open it in a browser (for the link on the Postiz page). |
CLIPPER_END_CARD_TEXT, CLIPPER_END_CARD_TAGLINE, CLIPPER_END_CARD_SECONDS |
Wording of the end card, an optional small third line, and how long it shows (1 to 6). |
CLIPPER_KEEP_RENDERS |
How many renders of each clip to keep. |
CLIPPER_TAIL, CLIPPER_MUSIC_TAIL |
Seconds kept after a clip's last word, for talking and for songs. |
CLIPPER_COOKIES_FILE |
A cookies.txt for private or age-restricted videos. |
CLIPPER_INBOX_DIR |
The drop folder the web page lists (default: inbox inside the data folder). |
CLIPPER_FONT_DIR |
Folder with Roboto-Black.ttf (default: the font-roboto package). |
Accounts
Clipper is invitation-only. Admins open Admin (next to Log out in the menu) to:
- make an invitation link (choose how long it lasts, and Member or Admin); the person opens it and picks their own username and password;
- make a password-reset link for someone who forgot theirs (the link is shown once);
- switch someone off (they are logged out at once and cannot log in) or back on, and make someone an admin or a member.
Links work once, expire, and only a hash of each is stored, so a link cannot be shown again. There is always at least one admin who can log in.
Failed logins are slowed down per address. Accounts live in the users and invites tables of the SQLite database. Email is optional and not used yet.
Who sees what
Projects are private. The person who creates a project, and every admin, can open it; nobody else can (to anyone else it simply does not exist). Activity and the Analytics list of sent clips follow the same rule. The inbox folder is one shared drop box, so only admins see its files; everyone else uploads a file or pastes a link.
Projects made before accounts existed, or from the command line, have no owner, so only admins see them. Give them to someone with clipper give NAME --unowned (every ownerless project) or clipper give NAME PROJECT_ID ....
Commands
clipper give NAME --unowned: make NAME the owner of every project that has no owner;clipper give NAME PROJECT_ID ...hands over particular ones.clipper create-user NAME: make a login from the command line (use--resetto change a password). The very first account becomes the admin.clipper check-captions: checks that caption rendering works.clipper check-url LINK --test: shows which download methods work for a link.pip install -U "yt-dlp[default]"in the virtualenv, then restart: updates the downloader when a site changes.pm2 restart clipper-web clipper-worker: restart after changing Python files or settings.