Server Options

List of available server options

This is a list of all available server options for the PersonalMediaVault backend.

Usage

In order to run the server, you can run the pmvd binary.

In order to see the options, use:

pmvd --help

In order to run the daemon, use:

pmvd --daemon [OPTIONS]

Here is the full list of available options:

OptionDescription
--help, -hPrints command line options.
--version, -vPrints version.
--daemon, -dRuns backend daemon.
--init, -iInitializes the vault. Asks for username and password.
--clean, -cCleans temporal path before starting the daemon.
--port -p <port>Sets the listening port. By default 80 (or 443 if using SSL).
--bind -b <bind-addr>Sets the bind address. By default it binds all interfaces.
--vault-path, -vp <path>Sets the data storage path for the vault.
--cache-size <size>Sets the LRU cache size. By default is can hold 1024 elements.

Also, here is a list of available debug options:

OptionDescription
--skip-lockIgnores vault lockfile.
--check-trashChecks the vault (at startup) in order to find trash files. This option requires the vault credentials passed in the environment variables VAULT_USER and VAULT_PASSWORD, in order to decrypt the vault files.
--remove-trashRemoves the trash files. Combine this option with --check-trash.
--debugEnables debug mode.
--log-requestsEnables logging requests to standard output.
--cors-insecureAllows all CORS requests (insecure, for development).
--launch-tag <tag>Sets launcher tag (for launcher use).

Also, here is a list of environment variables to configure other options:

Variable NameDescription
FFMPEG_PATHPath to ffmpeg binary
FFPROBE_PATHPath to ffprobe binary
FFMPEG_VIDEO_ENCODERName of the FFmpeg codec to encode the videos.
TEMP_PATHTemporal path to store things like uploaded files or to use for FFMPEG encoding. Note: It should be in a different filesystem if the vault is stored in an unsafe environment. By default, this will be stored in ~/.pmv/temp
FRONTEND_PATHPath to static frontend to serve it.
SSL_CERTPath to the SSL certificate. Required to enable HTTPS
SSL_KEYPath to SSL private key. Required to enable HTTPS
USING_PROXYSet it to YES if you are using a reverse proxy.
TEMP_FILE_DELETE_MODESet it to SECURE to clear all the bytes of temporal files (secure delete).

Also, here is the list environment variables to configure semantic search:

Variable NameDescription
SEMANTIC_SEARCH_ENABLEDSet it to YES to enable semantic search. The rest of the options must be configured. Otherwise you will get an error.
QDRANT_HOSTHost of the Qdrant database.
QDRANT_PORTGRPC port of the Qdrant database. Default: 6334
QDRANT_API_KEYAPI key for the Qdrant database.
QDRANT_USE_TLSSet it to YES in order to use TLS to connect to the Qdrant database.
QDRANT_INITIAL_SCANBy default, when the vault is unlocked, a task to scan for missing media in the Qdrant database will be created. Set this variable to NO to disable it.
CLIP_API_BASEBase URL of the CLIP API (provided by pmv-ai-service). Example: http://localhost:5000/clip
CLIP_API_AUTHValue of the Authorization header in order to use the CLIP API.
CLIP_IMAGE_SIZE_LIMIT_MBLimit on size (MB) before the images are discarded from being encoded by CLIP. Default: 20
Last modified January 4, 2026: Update last version (5.1.0) (20cce46)