lemonfiber — command reference
Generated from the command line’s own declarations. Run just reference to rewrite it.
lemonfiber
Section titled “lemonfiber”Orchestrates a fully open-source, self-hosted media stack
Usage: lemonfiber [OPTIONS] [COMMAND]
Commands: setup Set up the stack by answering a few questions version Report the versions in play forms List the forms this stack has, and what each one is for migrate See what is already on this machine, and take it over if you choose to up Start a form, or the union of several down Stop and remove what a form started switch Make these forms the active set, leaving shared services running restart Restart services without touching the rest pull Fetch newer images without applying them ps Report what each service is actually doing logs Show what services are saying config Read or change one setting alerts Choose how much lemonfiber tells you about, in plain language quality Choose how good your media should look, in plain language doctor Run the checks that prove the stack is doing what it should watch Guard the data location while forms run, stopping them if it disappears hosting Say what this machine keeps running when no terminal is open trace Follow one show or film across the services — "where is my show?" household Show who is in the household, what each may watch and ask for, and what each asked for walkthrough Add one thing, end to end, and watch every step of it happen explain Say what one of this product's words means stuck List the items whose downloads are stuck — the landing point for "N stuck", each named so `lemonfiber trace` follows it on its own front-door Name the one address to send somebody who lives here outbound List everything that leaves this machine, and what refusing each of it costs credentials Say which credentials this stack holds, or act on one of them stored List what lemonfiber keeps on this machine, where it is, and why clients Say which app to watch on, for each kind of device somebody in the house has invite Offer somebody in the house an account they can claim reissue Let somebody set a new password, without you choosing or seeing it remove Take somebody out of the household, in both places they have an account forget Remove everything lemonfiber keeps on this machine uninstall Take lemonfiber off this machine, at one of four removals space Account for the disk: where the room went, when it runs out, what can go stop-seeding Stop seeding one completed download, and let its files go with it bandwidth Account for the line: what it carries, what the stack takes, what that costs seed Wire the stack's services to each other, idempotently adopt Adopt your current edits as lemonfiber's expected state reset Put the stack back to lemonfiber's own state, reverting every edit you made backup Back up your configuration to an archive, so it stops being precious support Gather everything a person helping you would ask for, with every value not named safe replaced by a stand-in ui Serve the web interface, for as long as you leave it running restore Restore your configuration from a backup archive help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help
-V, --version Print versionlemonfiber setup
Section titled “lemonfiber setup”Set up the stack by answering a few questions.
Interactive by default. Given the flags below, it runs unattended: each answers a question the wizard would otherwise ask, and `--yes` stands in for the confirmation. A non-interactive run missing a flag it needs is told which, rather than left waiting on input that will not come.
Usage: lemonfiber setup [OPTIONS]
Options: --json Print machine-readable output
--status Report where setup stands and ask nothing. Takes precedence over the answers below, so a run that asks where it is never also answers
--dry-run Say what would happen, and change nothing
--yes Apply without a prompt to confirm — required for an unattended run
--force Take the stack from a run that claimed it and did not give it back
--protocols <PROTOCOLS> How to fetch content: `both`, `usenet`, `torrent`, or `none`
--data-location <PATH> Where the library and downloads live
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
--indexer-url <URL> An indexer's API base URL
--indexer-key <KEY> The indexer's API key
--usenet-host <HOST> The Usenet provider's hostname
--usenet-port <PORT> The port the Usenet provider answers on (defaults to 563)
--usenet-user <USER> The Usenet account username
--usenet-pass <PASS> The Usenet account password
--usenet-tls <BOOL> Whether the Usenet connection uses TLS (defaults to yes)
[possible values: true, false]
--library <MODE> How to serve the library: `docker`, `native`, or `none`
--service-user <UID:GID> The container user, as `UID:GID`
--vpn <BOOL> Whether a VPN carries the torrent traffic. Where torrents are chosen and this is absent, the run proceeds unprotected and records that it did
[possible values: true, false]
--household <BOOL> Whether others in the home will use it
[possible values: true, false]
--notifications <APPETITE> What to be told about: `problems`, `completions`, or `everything`
--autostart <BOOL> Whether to start the stack when the machine boots
[possible values: true, false]
-h, --help Print help (see a summary with '-h')lemonfiber version
Section titled “lemonfiber version”Report the versions in play
Usage: lemonfiber version [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber forms
Section titled “lemonfiber forms”List the forms this stack has, and what each one is for.
A form says which part of the stack to run. They come from the stack rather than from lemonfiber, so a stack of your own names its own.
Naming one says what starting it would come to — the services it holds, and anything your configuration leaves out — without starting anything.
Usage: lemonfiber forms [OPTIONS] [FORMS]...
Arguments: [FORMS]... The forms to describe; none lists them all
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber migrate
Section titled “lemonfiber migrate”See what is already on this machine, and take it over if you choose to.
With nothing named it surveys: the stacks already standing here, the ports they hold that lemonfiber would want, and anything it could not take over as it stands. Nothing is started, stopped, moved, or written.
Usage: lemonfiber migrate [OPTIONS] [COMMAND]
Commands: adopt Take over the setup already here, so lemonfiber manages it beside Run alongside the setup already here, on ports nothing else is using import Copy what the setup already here holds into lemonfiber's own services replace Stand in place of the setup already here, stopping it and deleting none of it help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber migrate adopt
Section titled “lemonfiber migrate adopt”Take over the setup already here, so lemonfiber manages it.
Without `--confirm` it says what adopting would come to and writes nothing — which databases a newer version would upgrade, and where their data sits so it can be backed up first.
Usage: lemonfiber migrate adopt [OPTIONS]
Options: --confirm Go ahead, having backed up the data named
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber migrate beside
Section titled “lemonfiber migrate beside”Run alongside the setup already here, on ports nothing else is using.
Without `--confirm` it says where each service would listen and writes nothing. Nothing of the existing setup is touched either way.
Usage: lemonfiber migrate beside [OPTIONS]
Options: --confirm Go ahead, having seen where each service would listen
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber migrate import
Section titled “lemonfiber migrate import”Copy what the setup already here holds into lemonfiber's own services.
Without `--confirm` it names what it would carry and carries nothing. Nothing of the existing setup is written to either way.
Usage: lemonfiber migrate import [OPTIONS]
Options: --confirm Go ahead, having seen what would be carried
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber migrate replace
Section titled “lemonfiber migrate replace”Stand in place of the setup already here, stopping it and deleting none of it.
Without `--confirm` it names what it would stop and stops nothing. Nothing is deleted either way, so the old stack can be started again.
Usage: lemonfiber migrate replace [OPTIONS]
Options: --confirm Go ahead, having seen what would stop
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber up
Section titled “lemonfiber up”Start a form, or the union of several
Usage: lemonfiber up [OPTIONS] [FORMS]...
Arguments: [FORMS]... The forms to start; none starts everything the stack declares
Options: --json Print machine-readable output
--service <NAME> Start only these services, leaving the rest of the form alone
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber down
Section titled “lemonfiber down”Stop and remove what a form started
Usage: lemonfiber down [OPTIONS] [FORMS]...
Arguments: [FORMS]... The forms to stop; none stops everything the stack declares
Options: --json Print machine-readable output
--service <NAME> Stop only these services, leaving the rest of the form running
--dry-run Say what would happen, and change nothing
--wait Let anything still downloading finish before stopping.
Not for a stop of named services: what is in flight is a question about the download clients a form holds, so naming two services that are not download clients would wait on downloads stopping them cannot interrupt.
--force Take the stack from a run that claimed it and did not give it back
--yes Stop without asking about anything still downloading
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber switch
Section titled “lemonfiber switch”Make these forms the active set, leaving shared services running.
Only what falls outside the new shape is stopped. A service the old shape and the new one both hold keeps running rather than being restarted, so a download in flight is not interrupted to change the stack around it.
Usage: lemonfiber switch [OPTIONS] <FORMS>...
Arguments: <FORMS>... The forms to switch to
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber restart
Section titled “lemonfiber restart”Restart services without touching the rest
Usage: lemonfiber restart [OPTIONS] <FORM> [SERVICES]...
Arguments: <FORM> The form holding them
[SERVICES]... The services to restart; none restarts the whole form
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber pull
Section titled “lemonfiber pull”Fetch newer images without applying them
Usage: lemonfiber pull [OPTIONS] <FORMS>...
Arguments: <FORMS>... The forms whose images to fetch
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber ps
Section titled “lemonfiber ps”Report what each service is actually doing
Usage: lemonfiber ps [OPTIONS] [FORMS]...
Arguments: [FORMS]... The forms to report on; none reports the whole stack
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber logs
Section titled “lemonfiber logs”Show what services are saying
Usage: lemonfiber logs [OPTIONS] [SERVICES]...
Arguments: [SERVICES]... The services to read; none reads them all
Options: --form <FORM> Read only the services a form declares
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
-f, --follow Keep reading as new lines arrive
--force Take the stack from a run that claimed it and did not give it back
--watch Read them on a screen that can be scrolled back and filtered
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
--tail <TAIL> How many existing lines to begin with
[default: 50]
-h, --help Print helplemonfiber config
Section titled “lemonfiber config”Read or change one setting
Usage: lemonfiber config [OPTIONS] <COMMAND>
Commands: get Read one setting set Change one setting show Show every setting, with credentials withheld help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber config get
Section titled “lemonfiber config get”Read one setting
Usage: lemonfiber config get [OPTIONS] <KEY>
Arguments: <KEY> The setting to read
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber config set
Section titled “lemonfiber config set”Change one setting.
Shows the difference between what the setting holds and what it would hold, and what changing it affects. A change setup catalogued as consequential — the data location, the download protocols, the user the services run as — is staged rather than applied until `--confirm`. A replacement credential is proven against its live service before the one it replaces is discarded.
Usage: lemonfiber config set [OPTIONS] <KEY> <VALUE>
Arguments: <KEY> The setting to change
<VALUE> What to change it to
Options: --confirm Go ahead, having read what the change affects.
Also stores a replacement credential that nothing could be reached to prove — for a machine that is offline, or a provider it cannot see, and writes over an edit made outside lemonfiber, or stops a download that is still coming down.
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--wait Let anything still coming down finish before the change is made
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber config show
Section titled “lemonfiber config show”Show every setting, with credentials withheld
Usage: lemonfiber config show [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber alerts
Section titled “lemonfiber alerts”Choose how much lemonfiber tells you about, in plain language
Usage: lemonfiber alerts [OPTIONS] <COMMAND>
Commands: show Show what you are told about, and what else you could be set Choose how much to be told help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber alerts show
Section titled “lemonfiber alerts show”Show what you are told about, and what else you could be
Usage: lemonfiber alerts show [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber alerts set
Section titled “lemonfiber alerts set”Choose how much to be told
Usage: lemonfiber alerts set [OPTIONS] <PRESET>
Arguments: <PRESET> How much to hear: problems-only, with-completions, or everything
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber quality
Section titled “lemonfiber quality”Choose how good your media should look, in plain language
Usage: lemonfiber quality [OPTIONS] <COMMAND>
Commands: show Show the quality choice in force, and what each preset means and costs set Choose a preset — for everything, or for one media type reapply Re-assert the recorded preset over a Recyclarr config you have hand-edited upgrade Upgrade existing content to the chosen quality — re-download what is already here at the higher quality help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber quality show
Section titled “lemonfiber quality show”Show the quality choice in force, and what each preset means and costs
Usage: lemonfiber quality show [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber quality set
Section titled “lemonfiber quality set”Choose a preset — for everything, or for one media type
Usage: lemonfiber quality set [OPTIONS] <PRESET>
Arguments: <PRESET> The preset: space-saving, balanced, high-quality, or maximum
Options: --for <MEDIA_TYPE> Apply it to one media type (tv or movies) rather than everything
--json Print machine-readable output
--confirm Confirm a choice this machine would have to transcode in software
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber quality reapply
Section titled “lemonfiber quality reapply”Re-assert the recorded preset over a Recyclarr config you have hand-edited.
An ordinary run keeps your edits; this is the explicit consent to let the preset win instead.
Usage: lemonfiber quality reapply [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber quality upgrade
Section titled “lemonfiber quality upgrade”Upgrade existing content to the chosen quality — re-download what is already here at the higher quality.
A large, bandwidth-expensive operation, separate from a preset change (which only affects future acquisitions). States the cost and does nothing until `--confirm`.
Usage: lemonfiber quality upgrade [OPTIONS]
Options: --confirm Go ahead and trigger the re-search, having seen the cost
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber doctor
Section titled “lemonfiber doctor”Run the checks that prove the stack is doing what it should
Usage: lemonfiber doctor [OPTIONS]
Options: --json Print machine-readable output
--only <CATEGORY_OR_CHECK> Run one category of check, such as `vpn`, or one check by the name a finding gives it, such as `vpn.killswitch`
--disruptive Include the checks that disturb the running system
--dry-run Say what would happen, and change nothing
--accept <CHECK> Answer a warning about a choice — `vpn.unprotected`, say — so it stops leading. Only something this run warns about can be answered
--force Take the stack from a run that claimed it and did not give it back
--fix Offer to put right what lemonfiber can, asking about each first.
A plain run only looks. This one says what each repair would do and what else changes if it does, and waits to be told.
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
--yes Carry the repairs out without asking, having decided in advance
--fix-disruptive Include the checks that disturb the running system while repairing.
Named apart from the field it sits beside: `doctor` already has a `--disruptive`, and clap keys an argument by the field name unless told otherwise — so two flags that read differently on the command line would be one argument underneath.
--undo Put back what the last repair changed.
Asked for the same way a repair is, because it is the same errand read backwards. It reverses that one repair and nothing else: the wiring lemonfiber seeded and the choices your first run wrote are left where they are.
-h, --help Print help (see a summary with '-h')lemonfiber watch
Section titled “lemonfiber watch”Guard the data location while forms run, stopping them if it disappears
Usage: lemonfiber watch [OPTIONS] <FORMS>...
Arguments: <FORMS>... The forms to stop if the data location is lost
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber hosting
Section titled “lemonfiber hosting”Say what this machine keeps running when no terminal is open.
Two of this program's commands have to keep running to be worth anything — the guard on the data location, and the clock that closes requests nobody rules on — and both stop when the window they were started in closes. This is what hands them to the machine instead.
Asked nothing it reports what stands between each of them and this machine: whether one is installed, whether the system is actually running it, where its words are written, and — on a platform this program cannot configure — what to do instead of it. Installed is not running, and the two are never reported as one thing.
Name one of the two words underneath to install one or take it back.
Usage: lemonfiber hosting [OPTIONS] [COMMAND]
Commands: install Have this machine keep one of them running, now and after a restart remove Take one back off this machine, leaving nothing behind help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber hosting install
Section titled “lemonfiber hosting install”Have this machine keep one of them running, now and after a restart.
Installs it into your own account — no administrator rights, and nothing another account on this machine inherits. It starts it as well as installing it, and says so, along with where a command with no terminal writes what it would have said in one.
Usage: lemonfiber hosting install [OPTIONS] <WHAT> [FORMS]...
Arguments: <WHAT> Which one: the guard on the data location, or the clock on requests
Possible values: - watch: The guard on the data location - expiring: The clock that closes requests nobody has ruled on
[FORMS]... The forms the guard stops if the data location is lost. The guard alone takes them, and it will not be installed without them
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber hosting remove
Section titled “lemonfiber hosting remove”Take one back off this machine, leaving nothing behind.
The service definition, its registration, and its place in your login items. Asked about one that is not installed, it says so rather than failing.
Usage: lemonfiber hosting remove [OPTIONS] <WHAT>
Arguments: <WHAT> Which one
Possible values: - watch: The guard on the data location - expiring: The clock that closes requests nobody has ruled on
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber trace
Section titled “lemonfiber trace”Follow one show or film across the services — "where is my show?".
Searched for the way you would name it, not by an internal id. Reports how far it got and, where it plainly stopped, why. A show is reported season by season: how many episodes are here, and what each one that is not is waiting on.
Something monitored that has never been grabbed stopped for one of two reasons, and nothing on this machine can tell them apart: the indexers carry nothing for it, or they carry releases the quality you chose rejects. `--search` asks them.
Usage: lemonfiber trace [OPTIONS] <TERM>...
Arguments: <TERM>... The show or film to follow, named as you would say it
Options: --json Print machine-readable output
--season <SEASON> Narrow to one season, instead of every season of the show
--dry-run Say what would happen, and change nothing
--search Ask the indexers what they carry, to tell "nothing at your quality" from "nothing at all". Spends one real search against their daily allowance
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber household
Section titled “lemonfiber household”Show who is in the household, what each may watch and ask for, and what each asked for.
Everybody the media server holds an account for — including those who have asked for nothing, and the invitations nobody has taken up yet. Each person carries what they may watch and when they were last seen; their requests read in the words they would use rather than the services' own, and each named one links to its full trace.
Each person also carries what they may ask for: how much a period allows them, how much of it is gone, and when there is room again. A request nobody has ruled on shows how long it has been waiting and about how much room it would want.
Name one of the four things underneath to change any of that, to answer one request that is waiting, or to arrange what becomes of the ones nobody answers.
Usage: lemonfiber household [OPTIONS] [COMMAND]
Commands: allow Choose what happens to what the household asks for, and how much it may ask approve Let one waiting request through, by the number the household list gives it decline Turn one waiting request down, saying why expiring Close the requests nobody has ruled on, once they have waited too long help Print this message or the help of the given subcommand(s)
Options: --json Print machine-readable output
--member <MEMBER> Narrow to one member, named the way you would say it
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber household allow
Section titled “lemonfiber household allow”Choose what happens to what the household asks for, and how much it may ask.
Naming only a limit leaves the policy alone, and naming only a policy leaves the limit alone — saying nothing about something is not choosing it.
Television is counted a season at a time, because that is how the request service counts it: one ask for a six-season series spends six.
Usage: lemonfiber household allow [OPTIONS]
Options: --json Print machine-readable output
--member <MEMBER> Set it for one person instead of for the whole household
--dry-run Say what would happen, and change nothing
--policy <POLICY> What happens to a request: trusted, within-a-limit, or everything-waits
--force Take the stack from a run that claimed it and did not give it back
--requests <REQUESTS> How many requests a period allows. Needs `--days` beside it
--days <DAYS> How long that period is, in days. Needs `--requests` beside it
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber household approve
Section titled “lemonfiber household approve”Let one waiting request through, by the number the household list gives it.
Refused where there is no room left on the disk, and said as the disk rather than as anybody's limit — raising a limit would change nothing.
Usage: lemonfiber household approve [OPTIONS] <REQUEST>
Arguments: <REQUEST> The request, by the number beside it
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber household decline
Section titled “lemonfiber household decline”Turn one waiting request down, saying why.
The reason is required and it does not travel: the request service tells whoever asked that it was declined and carries no reason with it, so what you write here is yours to pass on.
Usage: lemonfiber household decline [OPTIONS] --reason <REASON> <REQUEST>
Arguments: <REQUEST> The request, by the number beside it
Options: --json Print machine-readable output
--reason <REASON> Why, in a few words
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber household expiring
Section titled “lemonfiber household expiring”Close the requests nobody has ruled on, once they have waited too long.
Nothing is closed until you say how long is too long, and there is no period this chooses for you. Naming one records it and stops: the household is told about it, on the list you read and in the message each member is handed, before anything is closed.
Run with nothing named, it does the closing — and it holds this terminal until you stop it or arrange something else, because lemonfiber starts nothing by itself. Whoever asked is told why, at the address they already gave the request service.
Usage: lemonfiber household expiring [OPTIONS]
Options: --after <AFTER> How many days a request may wait before it is closed. Records it and stops
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--never Stop closing anything for waiting, whatever was arranged before
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber walkthrough
Section titled “lemonfiber walkthrough”Add one thing, end to end, and watch every step of it happen.
The walk a first run is offered: search the indexers, grab a release, download it, import it, and see it appear in the library — narrated as it goes, so that afterwards you know what your stack does because you watched it do it. If any link is broken this is where it shows, with the step named and a way out.
Name something, or name nothing and be suggested something likely to work.
Usage: lemonfiber walkthrough [OPTIONS] [ITEM]...
Arguments: [ITEM]... What to add, named as you would say it
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber explain
Section titled “lemonfiber explain”Say what one of this product's words means.
A report explains the words it used underneath itself, in a sentence. This is the longer form, for somebody who wants it — nothing needs it in order to act, which is the difference between an explanation offered and one imposed.
Name a word, or name nothing and be told which words there are.
Usage: lemonfiber explain [OPTIONS] [WORD]...
Arguments: [WORD]... The word, as you would say it
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber stuck
Section titled “lemonfiber stuck”List the items whose downloads are stuck — the landing point for "N stuck", each named so `lemonfiber trace` follows it on its own
Usage: lemonfiber stuck [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber front-door
Section titled “lemonfiber front-door”Name the one address to send somebody who lives here.
The stack publishes several things to your network and only one of them is somewhere to begin. This says which, why the others are not, and — where this stack runs nothing anybody could begin at — that there is no address to send rather than naming the nearest thing that would open.
Usage: lemonfiber front-door [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber outbound
Section titled “lemonfiber outbound”List everything that leaves this machine, and what refusing each of it costs.
lemonfiber's own requests first — where each goes, why, exactly what travels, whether it is on, the setting that switches it off and what stops working when it is — then the requests the stack's own services make, which are theirs rather than lemonfiber's.
Usage: lemonfiber outbound [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber credentials
Section titled “lemonfiber credentials”Say which credentials this stack holds, or act on one of them.
Every secret in the stack in one list, whoever produced it: what each is, what authenticates with it, where the value lives and where it stands — never the value itself — and what keeping them in files does and does not protect against. `--rotate` replaces one, proving the replacement before the existing value stops being in force; `--reveal` prints one, and asks first.
Usage: lemonfiber credentials [OPTIONS]
Options: --json Print machine-readable output
--reveal <NAME> Print one credential's value. Asks for confirmation before it prints
--dry-run Say what would happen, and change nothing
--rotate <NAME> Replace one credential, proving the replacement against the live service before the existing value stops being the one in force
--confirm Yes, print it in the clear — having read what that costs
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber stored
Section titled “lemonfiber stored”List what lemonfiber keeps on this machine, where it is, and why.
Everything it writes sits under two directories. This names each thing under them, says what it is for, and marks the ones holding a credential — and it names what is *not* lemonfiber's, because your library being absent from the list is the part worth being sure about.
Usage: lemonfiber stored [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber clients
Section titled “lemonfiber clients”Say which app to watch on, for each kind of device somebody in the house has.
The client landscape is uneven and it matters which app is used: some devices have an official one that works, and a smart television may have nothing worth using. This says which is which, names a browser as the answer that always works and needs no installation, and where a device is badly served says what to do instead rather than leaving somebody to find out by failing.
Usage: lemonfiber clients [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber invite
Section titled “lemonfiber invite”Offer somebody in the house an account they can claim.
Makes them an account on the media server with no password on it, and prints the one address to send them. Whoever sets the first password claims it; an invitation nobody takes up is withdrawn.
Usage: lemonfiber invite [OPTIONS] <NAME>
Arguments: <NAME> What they will sign in as
Options: --json Print machine-readable output
--library <NAME> Let them watch only these libraries, named as the media server names them; none lets them watch all of them
--age-limit <AGE> Hold back anything the media server rates above this age — 0, 7, 12, 15 and 18 are the steps offered; none sets no limit at all
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--unrated <CHOICE> What to do about content the media server has no rating for; anybody being narrowed has it held back unless this says otherwise
Possible values: - block: Hold it back - allow: Let it through
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber reissue
Section titled “lemonfiber reissue”Let somebody set a new password, without you choosing or seeing it.
Their account goes back to having no password on it — the state a fresh invitation leaves it in — so they claim it again by setting the first one themselves. Their old password stops working immediately. What this prints is the invitation to send them: the same address, the same code.
Usage: lemonfiber reissue [OPTIONS] <NAME>
Arguments: <NAME> Whose account to make claimable again
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber remove
Section titled “lemonfiber remove”Take somebody out of the household, in both places they have an account.
Revokes access to the media server and to the request service. Their watch history goes with the account — the media server offers no way to keep it — and the request service destroys what they asked for. Because none of that can be got back, it says what would go and does nothing until `--confirm`.
Usage: lemonfiber remove [OPTIONS] <NAME>
Arguments: <NAME> Whose account to take away, as `lemonfiber household` shows them
Options: --confirm Go ahead and remove them, having seen what goes
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber forget
Section titled “lemonfiber forget”Remove everything lemonfiber keeps on this machine.
The two directories and everything under them. Your library, your downloads and the containers are not lemonfiber's and are never touched. Because it throws work away it lists what would go and does nothing until `--confirm`.
Usage: lemonfiber forget [OPTIONS]
Options: --confirm Go ahead and remove it, having seen what would go
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber uninstall
Section titled “lemonfiber uninstall”Take lemonfiber off this machine, at one of four removals.
`stop` removes nothing and stops the services. `services` removes the containers, the network they were on and the images pulled for them. `configuration` removes each service's own settings and everything lemonfiber keeps, credentials and all. `media` removes your library and your downloads, and is never bundled with any of the others.
Naming a removal lists exactly what it would take — every container, image and path, with what each occupies — and does nothing. `--confirm` carries it out. The one that reaches your library takes no bare yes: the listing prints a name for itself and `--agreed` answers that name, so an answer given against one reading of your disk cannot be spent on another.
Usage: lemonfiber uninstall [OPTIONS] <REMOVAL>
Arguments: <REMOVAL> Which removal: `stop`, `services`, `configuration` or `media`
Possible values: - stop: Remove nothing; stop the services - services: Remove the containers, their network and the images pulled for them - configuration: Remove each service's own settings, everything lemonfiber keeps, and the credentials in both - media: Remove the library and the downloads
Options: --confirm Go ahead, having read what would go
--json Print machine-readable output
--agreed <NAME> The listing being answered, as the run that printed it named it
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--wait Let anything still coming down finish before the services stop
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber space
Section titled “lemonfiber space”Account for the disk: where the room went, when it runs out, what can go.
Says when the disk will be full rather than that it already is, counting what is queued against what is left. Breaks the rest down by where it went, and marks what could be got back — the downloads nothing ever imported and the archives already unpacked cost nothing at all. Those two are what `--confirm` takes, and nothing else ever is: a torrent still seeding is named with what removing it does to your standing with the tracker and left with you, and nothing you asked to be left alone is on offer at any level of fullness.
Usage: lemonfiber space [OPTIONS]
Options: --confirm Go ahead and remove what was listed as costing nothing
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber stop-seeding
Section titled “lemonfiber stop-seeding”Stop seeding one completed download, and let its files go with it.
Everything the disk account names and deliberately leaves alone is asked for here instead, one download at a time. Named on its own it says what that download is, what it occupies, where it stands and, while it is still seeding, what removing it does to a private tracker's opinion of you. It removes nothing, and prints a name for that offer; answering with that name is the yes. There is no other way to say it, because a blanket confirmation would be agreement from somebody who had not read the cost.
Usage: lemonfiber stop-seeding [OPTIONS] <DOWNLOAD>
Arguments: <DOWNLOAD> The completed download, as the account and the client both name it
Options: --json Print machine-readable output
--offer <NAME> The offer being answered, as the run that made it printed it
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber bandwidth
Section titled “lemonfiber bandwidth”Account for the line: what it carries, what the stack takes, what that costs.
Asked nothing it reports — the limits in force, which side of your day the clients say they are on, and whether they are actually keeping to what they were given. Asked for a limit it declares one and hands it to every download client, then reads back what each says, because a client that accepts a setting and does not apply it looks exactly like one that did.
Nothing here touches anybody watching from your own library, and nothing here shapes this machine's traffic. It sets limits inside lemonfiber's own download clients and nowhere else.
Usage: lemonfiber bandwidth [OPTIONS]
Options: --down <SHARE OR RATE> How much of the line downloads may take: a share, a rate, or `unlimited`.
A share is written with a per-cent sign — `50%` — and is measured against what the line was last seen to carry, which is shown beside it. A rate is written as a size a second, as in `2MiB`.
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--up <SHARE OR RATE> How much of it uploads may take.
Set apart from the download and left alone unless you say otherwise. Home connections are lopsided and a saturated uplink slows everything down, downloads included, so this defaults to something more careful than the figure you give above.
--active <FROM-TO> The hours the house is awake, when the limits apply: `07:00-23:00`.
Outside them the stack has the line. The hours are kept by the download clients themselves, on your zone's clock, so they follow the wall clock through the daylight-saving changes. `none` takes the schedule away and leaves the limits standing around the clock.
--force Take the stack from a run that claimed it and did not give it back
--line <DOWN/UP> What this line carries, if you know: `60MiB/6MiB`, download first.
Only needed to set a share before lemonfiber has seen the line at full speed. It measures as it goes otherwise, from what the downloads achieve when nothing is holding them back.
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
--cap <SIZE> A monthly allowance for what this stack itself moves: `1TiB`.
Counts only lemonfiber's own download clients. Everything else in the house is on the same line and is not counted, so your provider's meter will read higher. `none` takes the cap away.
--when-exceeded <WHAT> What happens when that cap is reached: `pause`, `throttle` or `continue`.
Chosen now rather than asked at the time, which arrives at two in the morning on a stack nobody is watching.
--unrestricted-for <MINUTES> Lift the limits for this many minutes, then put them back.
For the evening you want something now and know nobody else is affected. Time-boxed on purpose, so it cannot be left on.
-h, --help Print help (see a summary with '-h')lemonfiber seed
Section titled “lemonfiber seed”Wire the stack's services to each other, idempotently
Usage: lemonfiber seed [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber adopt
Section titled “lemonfiber adopt”Adopt your current edits as lemonfiber's expected state.
A value you changed by hand reports as drift until you adopt it; once adopted it is kept across future seeds and restores. Wires what is missing as a seed does, and promotes every drifted value to yours.
Usage: lemonfiber adopt [OPTIONS]
Options: --json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber reset
Section titled “lemonfiber reset”Put the stack back to lemonfiber's own state, reverting every edit you made.
The opposite of adopt: it discards your hand-edits to the stack files and restores lemonfiber's own. Because it throws work away, it names exactly what will be lost and does nothing until `--confirm` — run it once to see the diffs, again with `--confirm` to reset.
Usage: lemonfiber reset [OPTIONS]
Options: --confirm Go ahead and revert, having seen what will be lost
--json Print machine-readable output
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')lemonfiber backup
Section titled “lemonfiber backup”Back up your configuration to an archive, so it stops being precious
Usage: lemonfiber backup [OPTIONS]
Options: --json Print machine-readable output
--service <SERVICE> Back up one service's configuration instead of the whole stack
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print helplemonfiber support
Section titled “lemonfiber support”Gather everything a person helping you would ask for, with every value not named safe replaced by a stand-in.
A bare run writes nothing. It collects, redacts, and reads the result back looking for anything that still resembles a credential, then says what the bundle would hold and how large it is — so the decision to make a file worth attaching to a public thread is taken after seeing what goes in it. Run it again with `--write` to produce it.
Nothing is ever sent anywhere. The bundle is written here and stays here.
Usage: lemonfiber support [OPTIONS]
Options: --json Print machine-readable output
--write Produce the bundle, having seen what it would hold
--dry-run Say what would happen, and change nothing
--out <PATH> Where to write it, instead of into this directory
--force Take the stack from a run that claimed it and did not give it back
--logs <LINES> How many log lines to take from each service
[default: 200]
--filenames Include media filenames, which are replaced by default
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
--reveal <SETTING> Show one setting as it is, named exactly as the bundle names it.
Repeatable, and refused without `--confirm` on the same run: a flag that publishes a credential is not one to honour because it turned up on a command line somebody copied.
--confirm Confirm showing the settings named by `--reveal`
-h, --help Print help (see a summary with '-h')lemonfiber ui
Section titled “lemonfiber ui”Serve the web interface, for as long as you leave it running.
Started when you ask for it and not before: nothing is installed, nothing keeps running afterwards, and stopping it leaves nothing behind. It listens on this machine only.
The connection is not encrypted, which it says when it starts, along with the whole address it was given and the token every request to it must carry. The token is minted for this run, printed once here, and kept nowhere else.
Usage: lemonfiber ui [OPTIONS]
Options: --json Print machine-readable output
--port <PORT> The port to listen on. Without it, whichever one is free is used and the whole address is printed
--dry-run Say what would happen, and change nothing
--no-browser Do not ask this desktop to open a browser
--assets <PATH> Serve the interface from this directory rather than from the binary.
No build carries a web app of its own yet, so this is the only way to serve one. A build asked without it says as much rather than answering with an empty page.
--force Take the stack from a run that claimed it and did not give it back
--lan Offer this to your network, rather than to this machine only.
Refused unless a password has been set. This surface can start, stop and reconfigure everything and reaches every password the system holds, so it is not offered to a network with nothing in front of it.
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
--set-password Set the password this surface asks for, before it starts.
Asked for at the keyboard and never on this line: a password typed as an argument is a password in your shell's history and in the list of processes this machine is running.
-h, --help Print help (see a summary with '-h')lemonfiber restore
Section titled “lemonfiber restore”Restore your configuration from a backup archive.
Verifies the archive and lists what it holds before anything is overwritten. A restore onto a different data root is refused until `--repoint` accepts moving it to this machine's.
Name an archive, or name nothing and be told which backups this machine has kept.
Usage: lemonfiber restore [OPTIONS] [ARCHIVE]
Arguments: [ARCHIVE] The archive to restore from
Options: --json Print machine-readable output
--repoint Accept re-pointing to this machine's data root where it differs
--dry-run Say what would happen, and change nothing
--force Take the stack from a run that claimed it and did not give it back
--stack-dir <PATH> Operate a stack directory of your own instead of the built-in one
-h, --help Print help (see a summary with '-h')This page lives in another repository Rendered from lemonfiber/lemonfiber at a2ac9bf, 2026-09-09. Read the source of this page