CALIBRE-SERVER(1)

NAME
calibre-server - calibre-server

    calibre-server [options] [path to library folder...]

Start the calibre Content server. The calibre Content server exposes your calibre libraries over the internet. You can specify the path to the library folders as arguments to calibre-server. If you do not specify any paths, all the libraries that the main calibre program knows about will be used.

Whenever you pass arguments to calibre-server that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

[گزینه ها]

--access-log
    Path to the access log file. This log contains information about clients connecting to the server and making requests. By default no access logging is done.

--ajax-timeout
    Time (in seconds) to wait for a response from the server when making queries.

--auth-mode
    Choose the type of authentication used. Set the HTTP authentication mode used by the server. Set to "basic" if you are putting this server behind an SSL proxy. Otherwise, leave it as "auto", which will use "basic" if SSL is configured otherwise it will use "digest".

--auto-reload
    Automatically reload server when source code changes. Useful for development. You should also specify a small value for the shutdown timeout.

--ban-after
    Number of login failures for ban. The number of login failures after which an IP address is banned

--ban-for
    Ban IP addresses that have repeated login failures. Temporarily bans access for IP addresses that have repeated login failures for the specified number of minutes. Useful to prevent attempts at guessing passwords. If set to zero, no banning is done.

--book-list-mode
    Choose the default book list mode. Set the default book list mode that will be used for new users. Individual users can override the default in their own settings. The default is to use a cover grid.

--compress-min-size
    Minimum size for which responses use data compression (in bytes).

--custom-list-template
    Path to a JSON file containing a template for the custom book list mode. The easiest way to create such a template file is to go to Preferences-> Sharing over the net-> Book list template in calibre, create the template and export it.

--daemonize
    Run process in background as a daemon (Linux only).

--displayed-fields
    Restrict displayed user-defined fields. Comma separated list of user-defined metadata fields that will be displayed by the Content server in the /opds and /mobile views. If you specify this option, any fields not in this list will not be displayed. For example: my_rating,my_tags

--enable-allow-socket-preallocation, --disable-allow-socket-preallocation
    Socket pre-allocation, for example, with systemd socket activation. By default, this option is enabled.

--enable-auth, --disable-auth
    Password based authentication to access the server. Normally, the server is unrestricted, allowing anyone to access it. You can restrict access to predefined users with this option. By default, this option is disabled.

--enable-fallback-to-detected-interface, --disable-fallback-to-detected-interface
    Fallback to auto-detected interface. If for some reason the server is unable to bind to the interface specified in the listen_on option, then it will try to detect an interface that connects to the outside world and bind to that. By default, this option is enabled.

--enable-local-write, --disable-local-write
    Allow un-authenticated local connections to make changes. Normally, if you do not turn on authentication, the server operates in read-only mode, so as to not allow anonymous users to make changes to your calibre libraries. This option allows anybody connecting from the same computer as the server is running on to make changes. This is useful if you want to run the server without authentication but still use calibredb to make changes to your calibre libraries. Note that turning on this option means any program running on the computer can make changes to your calibre libraries. By default, this option is disabled.

--enable-log-not-found, --disable-log-not-found
    Log HTTP 404 (Not Found) requests. Normally, the server logs all HTTP requests for resources that are not found. This can generate a lot of log spam, if your server is targeted by bots. Use this option to turn it off. By default, this option is enabled.

--enable-use-bonjour, --disable-use-bonjour
    Advertise OPDS feeds via BonJour. Advertise the OPDS feeds via the BonJour service, so that OPDS based reading apps can detect and connect to the server automatically. By default, this option is enabled.

--enable-use-sendfile, --disable-use-sendfile
    Zero copy file transfers for increased performance. This will use zero-copy in-kernel transfers when sending files over the network, increasing performance. However, it can cause corrupted file transfers on some broken filesystems. If you experience corrupted file transfers, turn it off. By default, this option is enabled.

--help, -h
    show this help message and exit

--ignored-fields
    Ignored user-defined metadata fields. Comma separated list of user-defined metadata fields that will not be displayed by the Content server in the /opds and /mobile views. For example: my_rating,my_tags

--listen-on
    The interface on which to listen for connections. The default is to listen on all available IPv6 and IPv4 interfaces. You can change this to, for example, "127.0.0.1" to only listen for IPv4 connections from the local machine, or to "0.0.0.0" to listen to all incoming IPv4 connections.

--log
    Path to log file for server log. This log contains server information and errors, not access logs. By default it is written to stdout.

--manage-users
    Manage the database of users allowed to connect to this server. You can use it in automated mode by adding a --. See calibre-server --manage-users -- help for details. See also the --userdb option.

--max-header-line-size
    Max. size of single HTTP header (in KB).

--max-job-time
    Maximum time for worker processes. Maximum amount of time worker processes are allowed to run (in minutes). Set to zero for no limit.

--max-jobs
    Maximum number of worker processes. Worker processes are launched as needed and used for large jobs such as preparing a book for viewing, adding books, converting, etc. Normally, the max. number of such processes is based on the number of CPU cores. You can control it by this setting.

--max-log-size
    Max. log file size (in MB). The maximum size of log files, generated by the server. When the log becomes larger than this size, it is automatically rotated. Set to zero to disable log rotation.

--max-opds-items
    Maximum number of books in OPDS feeds. The maximum number of books that the server will return in a single OPDS acquisition feed.

--max-opds-ungrouped-items
    Maximum number of ungrouped items in OPDS feeds. Group items in categories such as author/tags by first letter when there are more than this number of items. Set to zero to disable.

--max-request-body-size
    Max. allowed size for files uploaded to the server (in MB).

--num-per-page
    Number of books to show in a single page. The number of books to show in a single page in the browser.

--pidfile
    Write process PID to the specified file

--port
    The port on which to listen for connections.

--search-the-net-urls
    Path to a JSON file containing URLs for the "Search the internet" feature. The easiest way to create such a file is to go to Preferences-> Sharing over the net->Search the internet in calibre, create the URLs and export them.

--shutdown-timeout
    Total time in seconds to wait for clean shutdown.

--ssl-certfile
    Path to the SSL certificate file.

--ssl-keyfile
    Path to the SSL private key file.

--timeout
    Time (in seconds) after which an idle connection is closed.

--trusted-ips
    Allow un-authenticated connections from specific IP addresses to make changes. Normally, if you do not turn on authentication, the server operates in read-only mode, so as to not allow anonymous users to make changes to your calibre libraries. This option allows anybody connecting from the specified IP addresses to make changes. Must be a comma separated list of address or network specifications. This is useful if you want to run the server without authentication but still use calibredb to make changes to your calibre libraries. Note that turning on this option means anyone connecting from the specified IP addresses can make changes to your calibre libraries.

--url-prefix
    A prefix to prepend to all URLs. Useful if you wish to run this server behind a reverse proxy. For example use, /calibre as the URL prefix.

--userdb
    Path to the user database to use for authentication. The database is a SQLite file. To create it use --manage-users. You can read more about managing users at: https://manual.calibre-ebook.com/server.html#managing-user-accounts-from-the-command-line-only

--version
    show program's version number and exit

--worker-count
    Number of worker threads used to process requests.

AUTHOR
Kovid Goyal

COPYRIGHT
Kovid Goyal