Skip to content

Configuration Reference

Mike's Pub edited this page Sep 19, 2026 · 2 revisions

Configuration Reference

This page documents the configuration options defined in config/default.php.

COPS uses config/default.php as the source of default values. Local changes should normally be placed in config/local.php rather than directly modifying config/default.php.

Contents


1. Get COPS working

Only a few settings are required for a basic installation.

1.1 Set the Calibre library directory

calibre_directory must point to the directory containing Calibre's metadata.db file and the associated book folders.

The path must end with /.

$config['calibre_directory'] = '/path/to/calibre/';

For a library in the current COPS directory:

$config['calibre_directory'] = './';

Example with multiple Calibre databases:

$config['calibre_directory'] = [
    'Main library' => '/data/calibre/main/',
    'Reference library' => '/data/calibre/reference/',
];

1.2 Set the full URL when necessary

In a simple installation, COPS can usually determine its own URL. Set cops_full_url when:

  • COPS is installed in a subdirectory.
  • COPS is behind a reverse proxy.
  • The generated links contain the wrong host or path.
  • An older e-reader cannot resolve OPDS or OpenSearch links.
  • COPS is accessed through more than one URL and proxy headers are not configured.

The value should include a trailing /.

$config['cops_full_url'] = 'https://books.example.com/cops/';

For a local subdirectory:

$config['cops_full_url'] = '/cops/';

1.3 Create a local configuration file

Copy only the settings that need to be changed into config/local.php.

Example:

<?php

$config['calibre_directory'] = '/data/calibre/';
$config['cops_full_url'] = 'https://books.example.com/cops/';
$config['cops_title_default'] = 'My Library';

Do not normally edit config/default.php. It is replaced or updated when COPS is upgraded.

1.4 Check the installation

After setting the library directory:

  1. Open the COPS URL in a browser.
  2. Confirm that the home page loads.
  3. Open a book detail page.
  4. Test downloading an EPUB or other supported format.
  5. Test an OPDS client if one will be used.
  6. If the library is not found, confirm that the configured directory contains metadata.db and that the web-server user can read the library.

2. Configuration files and override order

COPS supports global, user-specific, database-specific, and user/database-specific settings.

File Purpose
config/default.php Default values supplied by COPS. Avoid editing this file directly.
config/local.php Local settings for the complete installation.
config/local.{remote_user}.php Settings for a particular authenticated user.
config/local.db-{database}.php Request-handling settings for one database. Database numbering starts at 0.
config/local.{remote_user}.db-{database}.php Settings for one user's database. Database numbering starts at 0 for that user.

Use the most specific file needed for the setting.

For example:

config/local.php
config/local.alice.php
config/local.db-0.php
config/local.alice.db-0.php

Security: Configuration files can contain passwords, SMTP credentials, filesystem paths, and authentication settings. Protect them from direct web access.


3. Reader settings

These settings control what readers see and how they browse, search, read, and download books.

3.1 Home page and catalog content

Option Default Description
cops_home_page 'INDEX' Selects the initial COPS page. Examples include INDEX, ALL_RECENT_BOOKS, AUTHORS_FIRST_LETTER, and ALL_TAGS.
cops_recentbooks_limit '50' Number of recent books shown on the home page.
cops_random_books '0' Number of random books shown on the home page. Set to 0 to disable the Random or Discover section.
cops_random_filter [] Optional filter for random books. Filters can use fields such as tags or language.
cops_ignored_categories ['format', 'identifier'] Hides selected categories from the home page and search. Supported values include author, book, series, tag, publisher, rating, language, format, identifier, libraries, allbooks, recent, and random.
cops_max_item_per_page '48' Maximum number of items shown on a page. Use -1 for unlimited results.
cops_show_not_set_filter ['custom', 'rating', 'series', 'tag', 'identifier', 'format', 'libraries'] Enables “Not Set” counts and filters for selected fields, such as unrated or untagged books.

Example random-book configuration:

$config['cops_random_books'] = '12';

$config['cops_random_filter'] = [
    'tags' => 'Short Stories',
    'language' => 'eng',
];

3.2 Browsing, sorting, and filtering

Option Default Description
cops_author_split_first_letter '1' Groups authors by their first letter.
cops_titles_split_first_letter '1' Groups titles by their first letter.
cops_titles_split_publication_year '1' Groups titles by publication year when first-letter grouping is disabled.
cops_publisher_split_first_letter '0' Groups publishers by their first letter.
cops_series_split_first_letter '0' Groups series by their first letter.
cops_tag_split_first_letter '0' Groups tags by their first letter.
cops_html_sort_links ['title', 'author', 'pubdate', 'rating', 'timestamp'] Sort links displayed in HTML page details.
cops_html_filter_links ['author', 'language', 'publisher', 'rating', 'series', 'tag'] Filter links displayed in HTML page details.
cops_html_filter_limit '8' Number of HTML filter links shown per category.
cops_html_tag_filter '0' Enables tag filtering in the HTML catalog.
cops_books_filter [] Defines OPDS book filters, such as read/unread tag views.
cops_use_fancyapps '1' Enables Lightboxes or popups in the default template with client-side rendering.

Example tag filters:

$config['cops_books_filter'] = [
    'All' => '',
    'Unread' => '!Read',
    'Read' => 'Read',
];

The value !TagName means that books with the tag are excluded.

3.3 Searching

Option Default Description
cops_search_comments '0' Enables searching within book comments.
cops_search_notes '0' Enables searching within extra notes.
cops_search_annotations '0' Reserved for searching user annotations. This feature is currently unfinished.
cops_search_strip_html '0' Removes HTML tags before searching comments, notes, or annotations.
cops_normalized_search '0' Enables slower normalized searching that is less sensitive to case and diacritics. This feature is not recommended for production use.

Example:

$config['cops_search_comments'] = '1';
$config['cops_search_notes'] = '1';
$config['cops_search_strip_html'] = '1';

3.4 Appearance and localization

Option Default Description
cops_template 'bootstrap2' Selects the default HTML template. Available values include default, bootstrap, bootstrap2, bootstrap5, and twigged.
cops_style 'default' Selects the visual style. Available values include base, default, eink, iphone, iphone7, and kindle. Some styles are available only with particular templates.
cops_language '' Forces a language code. An empty value enables automatic language detection.
cops_show_icons '1' Shows icons for authors, series, tags, and books in OPDS feeds.
cops_icon 'favicon.ico' Icon used by the HTML and OPDS catalogs. The value must refer to a real .ico file.
cops_server_side_render 'Kindle\/1\.\d|Kindle\/2\.\d|Kindle\/3\.\d|EBRD1101|EBRD1201|cybook|Kobo' Regular expression matching browsers that should use server-side rendering. The default targets several older e-readers.
default_timezone 'UTC' Default timezone used by COPS.

The actual template and style available to a reader may depend on the deployment and device.

3.5 Book details and custom columns

Option Default Description
cops_prefered_format ['EPUB', 'PDF', 'AZW3', 'AZW', 'MOBI', 'CBR', 'CBZ'] Preferred format order. The first two formats are displayed in book entries; the remaining formats appear on the book detail page.
cops_ignored_formats [] Formats that are hidden from COPS and normally cannot be downloaded. Files under the web directory may still be accessible.
cops_calibre_custom_column [] Custom columns displayed on the index page. Values are Calibre lookup names. Use ['*'] to select all supported custom columns.
cops_calibre_custom_column_list [] Custom columns displayed in list representations. Values are Calibre lookup names.
cops_calibre_custom_column_preview [] Custom columns displayed in the book preview panel. Values are Calibre lookup names.
cops_custom_date_split_year '1' Groups date-type custom columns by year.
cops_custom_integer_split_range 0 Groups integer custom columns into ranges. Values greater than 1 specify the number of ranges. A value of 1 uses cops_max_item_per_page ranges.
calibre_categories_using_hierarchy [] Enables hierarchical tags or custom columns in templates that support them. This may require write access to the database if missing parent entries must be created.

Composite custom columns are not supported by the custom-column display options.

Example:

$config['cops_calibre_custom_column'] = [
    'genre',
    'mycolumn',
];

$config['cops_calibre_custom_column_list'] = [
    'last_read',
];

$config['cops_calibre_custom_column_preview'] = [
    'rating_source',
];

3.6 Online readers

Option Default Description
cops_epub_reader 'monocle' Selects the browser-based EPUB reader. Supported values include monocle, epubjs, or a custom reader URL ending in ?url=.
cops_epubjs_reader_settings '{ arrows: "content", flow: "paginated", openbook: false }' JavaScript settings passed to the EPUB.js reader. Settings can control navigation arrows, pagination, scrolling, history, font size, and other reader behavior.
cops_pdfjs_viewer '' Selects the PDF.js viewer. Use pdfjs-viewer.html?file= to enable it.
cops_comic_reader '' Selects the online reader for comic files. Supported examples include comic-reader.html?url= and codedread-kthoom.html?bookUri=.

The EPUB.js reader may require a compatible reader template.

The Kthoom comic reader requires the corresponding Composer package:

composer require mikespub/codedread-kthoom

The PDF.js viewer may require the complete mozilla/pdfjs-dist package if the minimal release package is insufficient.

3.7 Downloads

Option Default Description
cops_download_page [] Enables downloading all books displayed on a page in selected formats. Use ['EPUB'] for EPUB only or ['ANY'] to use the preferred-format order.
cops_download_template '{author}{series:| - | #}{series_index} - {title}' Filename template for books inside a ZIP archive created by a bulk download. The pipe characters are template separators and are escaped here for Markdown.
cops_download_filename '' Partial filename template for an individually downloaded format. An empty value uses COPS's default filename logic.
cops_update_epub-metadata '0' Updates EPUB metadata before download.
cops_x_accel_redirect '' Selects server-assisted file delivery for downloads outside the web directory. Supported values include X-Accel-Redirect and X-Sendfile.

Example:

$config['cops_download_page'] = ['EPUB'];

$config['cops_download_filename'] =
    '{author_sort}{series:| - | #}{series_index} - {title}';

Supported filename fields include:

  • {title}
  • {title_sort}
  • {authors}
  • {author_sort}
  • {author}
  • {series}
  • {series_index}

3.8 Kobo and Kindle

Kobo

Option Default Description
cops_provide_kepub '0' Renames downloaded EPUB files to .kepub.epub so that Kobo recognizes them as Kepub files. URL rewriting must be enabled.
cops_kepubify_path '' Path to the external kepubify tool used to convert EPUB files to Kobo Kepub format.

Example:

$config['cops_kepubify_path'] = '/usr/bin/kepubify';
$config['cops_provide_kepub'] = '1';

Kindle and email delivery

Option Default Description
cops_mail_configuration null SMTP configuration for Send to Kindle or email delivery. The sender address must be authorized by the Kindle account.

Example:

$config['cops_mail_configuration'] = [
    'smtp.host' => 'smtp.example.com',
    'smtp.username' => 'username',
    'smtp.password' => 'password',
    'smtp.secure' => 'tls',
    'smtp.port' => '587',
    'address.from' => 'cops@example.com',
    'subject' => 'Sent by COPS: ',
];

Security: Do not commit SMTP passwords to a public repository. Use a protected local configuration file.


4. Library administrator settings

These settings control which Calibre content COPS exposes and how it is organized.

4.1 Calibre libraries

Option Default Description
calibre_directory './' Directory containing Calibre's metadata.db file and book subdirectories. The path must end with /. It can also be an array for multiple databases.
calibre_external_storage '' Base URL for book files stored outside the local COPS filesystem. The local metadata.db file is still required.
calibre_database_field_cover '' Name of an additional cover field in the Calibre books table, typically created by epub-loader.
calibre_database_field_image '' Name of an additional image field in the Calibre authors or series tables, typically created by epub-loader.

External storage may not support all COPS features. The configuration comments specifically identify limitations such as:

  • No Kepub version.
  • No metadata updates.
  • No Monocle EPUB reader.
  • Other features may also be unavailable depending on the storage implementation.

Example:

$config['calibre_external_storage'] =
    'https://storage.example.com/calibre/';

4.2 Virtual libraries and database filters

Option Default Description
cops_calibre_virtual_libraries [] List of Calibre virtual libraries exposed by COPS. Use ['*'] to select all Calibre virtual libraries. Not supported together with multiple databases.
cops_virtual_library '0' Default virtual library selected by COPS. The value is based on the Calibre virtual-library list and starts at 1.
cops_database_filter [] Filters books exposed from a Calibre database by tags, languages, or other supported metadata. Negative filters start with !.

Example:

$config['cops_calibre_virtual_libraries'] = [
    'Short Stories in English',
    'Fiction from this Century',
];

$config['cops_virtual_library'] = '1';

Example database filter:

$config['cops_database_filter'] = [
    'tags' => 'Short Stories',
    'language' => 'eng',
];

Negative filters can be specified with !:

$config['cops_database_filter'] = [
    'tags' => '!Short Stories',
];

Multiple databases

$config['calibre_directory'] = [
    'Main library' => '/data/calibre/main/',
    'Research library' => '/data/calibre/research/',
];

Virtual libraries are not supported in combination with multiple databases. Database filters can be used in multi-database and multi-user configurations by placing them in the appropriate local configuration file.

4.3 Additional book folders

Option Default Description
cops_browse_books_directory '' Directory containing book files outside the normal Calibre library. This feature is marked as work in progress.
cops_browse_books_getfiles '' File containing a pre-generated list of book files in additional folders. Useful for rclone mounts or large filesystems on slow devices. This feature is marked as work in progress.

Example file-list generation:

rclone lsjson -R --fast-list --no-mimetype --files-only \
    /volume1/calibre/ > getfiles.json

4.4 Catalog identity

Option Default Description
cops_author_name 'Sébastien Lucas' Author or publisher name shown in catalog metadata.
cops_author_uri 'https://blog.slucas.fr' URI associated with the catalog author.
cops_author_email 'sebastien@slucas.fr' Email address associated with the catalog author.
cops_title_default 'COPS' Default catalog title.
cops_subtitle_default '' Default catalog subtitle.
default_timezone 'UTC' Default timezone used by COPS.

Example:

$config['cops_author_name'] = 'Example Public Library';
$config['cops_author_uri'] = 'https://library.example.com/';
$config['cops_author_email'] = 'library@example.com';
$config['cops_title_default'] = 'Example E-book Library';
$config['cops_subtitle_default'] = 'Online catalog';
$config['default_timezone'] = 'Europe/London';

5. OPDS and e-reader settings

These options affect OPDS clients, mobile reading applications, and older e-readers.

5.1 OPDS catalog behavior

Option Default Description
cops_opds_sort_links ['title', 'author', 'pubdate', 'rating', 'timestamp'] Sort links exposed as OPDS facets. The client must support OPDS facets.
cops_opds_filter_links ['author', 'language', 'rating', 'tag'] Filter links exposed as OPDS facets. The client must support OPDS facets.
cops_opds_filter_limit '8' Number of OPDS filter links shown per category.
cops_opds_thumbnail_height '164' Thumbnail height used in OPDS feeds. Book-detail images use twice this height.
cops_show_icons '1' Shows icons for authors, series, tags, and books in OPDS feeds.
cops_generate_invalid_opds_stream '0' Generates a less strictly compliant OPDS stream for clients that cannot search compliant OPDS catalogs. Use only when required by a particular client.

To disable OPDS sorting or filtering:

$config['cops_opds_sort_links'] = [];
$config['cops_opds_filter_links'] = [];

5.2 E-reader compatibility

Option Default Description
cops_full_url '' Full URL prefix used when COPS cannot correctly determine its public URL. This can be required by older e-readers.
cops_server_side_render 'Kindle\/1\.\d|Kindle\/2\.\d|Kindle\/3\.\d|EBRD1101|EBRD1201|cybook|Kobo' Regular expression matching devices that should receive server-side rendered pages.
cops_generate_invalid_opds_stream '0' Compatibility mode for non-compliant OPDS clients.
cops_fetch_protect '0' Protects direct book-fetch URLs until a user has visited an authenticated COPS page. Intended mainly for certain older Sony e-readers and Aldiko.

Examples of clients or devices covered by the default server-side rendering expression include Kindle, Sony PRS-T1, Sony PRS-T2, Cybook, and Kobo.

5.3 Preferred and ignored formats

Option Default Description
cops_prefered_format ['EPUB', 'PDF', 'AZW3', 'AZW', 'MOBI', 'CBR', 'CBZ'] Order in which formats are preferred for display and downloads.
cops_ignored_formats [] Formats hidden from the catalog and normally excluded from downloads.
cops_provide_kepub '0' Provides EPUB files with a .kepub.epub filename for Kobo devices.
cops_kepubify_path '' Path to the kepubify conversion tool.

6. Authentication, users, and sessions

These settings control access to COPS and user-specific configuration.

6.1 Authentication methods

Option Default Description
cops_basic_authentication null Enables PHP basic authentication using a username/password array or a Calibre user database.
cops_form_authentication null Enables form authentication through login.html.
cops_http_auth_user 'PHP_AUTH_USER' Server variable used to obtain the authenticated remote username. Common alternatives include REMOTE_USER or X-WEBAUTH-USER.
calibre_user_database null Path to the Calibre Content Server user database. It can be used with basic authentication, form authentication, or reverse-proxy authentication.

Example of basic authentication:

$config['cops_basic_authentication'] = [
    'username' => 'reader',
    'password' => 'change-this-password',
];

Example of form authentication:

$config['cops_form_authentication'] = [
    'username' => 'reader',
    'password' => 'change-this-password',
];

To disable COPS-managed authentication:

$config['cops_basic_authentication'] = null;
$config['cops_form_authentication'] = null;

6.2 User-specific and database-specific configuration

Configuration file Use
config/local.php Common settings for all users and databases.
config/local.{remote_user}.php Settings for one authenticated user.
config/local.db-{database}.php Settings for one database.
config/local.{remote_user}.db-{database}.php Settings for one user's database.

This allows different users to see different libraries or use different request-handling settings.

6.3 Sessions and download protection

Option Default Description
cops_session_timeout 365 * 24 * 60 * 60 Session lifetime in seconds. Sessions are used to validate book fetching, ZIP creation, and COPS customization.
cops_session_name 'COPS_SESSID' Name of the COPS session cookie. Use a distinct name to avoid conflicts with other PHP applications.
cops_fetch_protect '0' Ensures that a user visits an authenticated COPS page before accessing a direct fetch URL. Mainly intended for older Sony readers or Aldiko.

Security: Use HTTPS for authentication and book delivery.

Security: The Calibre user database may contain passwords in clear text according to the configuration comments. Protect the database file carefully.


7. Server and deployment settings

These options are intended for the person deploying COPS behind a web server, reverse proxy, CDN, or container environment.

7.1 URLs and reverse proxies

Option Default Description
cops_full_url '' Fixed URL prefix used to generate public links. Include a trailing /.
cops_front_controller '' Front-controller path used to generate route URLs, commonly index.php. The web server must rewrite the generated URLs correctly.
cops_trusted_proxies '' Defines trusted proxy addresses when COPS is behind a reverse proxy.
cops_trusted_headers [] Defines trusted forwarded headers used to determine the original request host, scheme, or client information.
cops_resources_cdn '' CDN base URL for COPS resources such as images, scripts, and stylesheets.
cops_assets 'vendor/npm-asset' URL prefix used by templates for JavaScript and CSS assets.
cops_templates_directory dirname(__DIR__) . '/templates/' Filesystem directory containing COPS templates. The path must end with /.

Example reverse-proxy configuration:

$config['cops_trusted_proxies'] = [
    '127.0.0.1',
];

$config['cops_trusted_headers'] = [
    'x-forwarded-for',
    'x-forwarded-host',
    'x-forwarded-proto',
];

$config['cops_full_url'] = 'https://books.example.com/cops/';

The exact trusted proxy and header configuration depends on the web server and reverse-proxy architecture.

7.2 Accelerated downloads

Option Default Description
cops_x_accel_redirect '' Selects server-assisted file delivery. Use X-Accel-Redirect for Nginx or X-Sendfile for supported Caddy, Lighttpd, or Apache configurations.
cops_x_accel_mapping '' Maps the real filesystem path known to PHP to the URI path known by Nginx when using X-Accel-Redirect.
cops_front_controller '' Controls route URLs and may be required when the web server uses a front controller and rewrite rules.

Example path mapping:

$config['cops_x_accel_redirect'] = 'X-Accel-Redirect';

$config['cops_x_accel_mapping'] = [
    '/volume1/Calibre/' => '/mapped/library/',
];

Corresponding Nginx example:

location /mapped/library/ {
    internal;
    alias /volume1/Calibre/;
}

The path visible to PHP and the URI used by Nginx do not have to be identical when cops_x_accel_mapping is configured.

7.3 Images, thumbnails, and performance

Option Default Description
cops_html_thumbnail_height '225' Thumbnail height used in the HTML catalog. Book-detail images use twice this height.
cops_opds_thumbnail_height '164' Thumbnail height used in OPDS feeds. Book-detail images use twice this height.
cops_thumbnail_handling '' Controls thumbnail generation. Empty value generates thumbnails, 1 sends full-size images, and a URL sends a constant image.
cops_thumbnail_default 'images/icons/icon144.png' Default image used when a book has no cover.
cops_thumbnail_cache_directory '' Directory used to cache resized thumbnails. The path must end with / and must be writable by the web server.
cops_resources_cdn '' CDN base URL for COPS resources.
cops_show_icons '1' Shows catalog icons in HTML and OPDS output.

Thumbnail handling modes:

Value Behavior
'' Generate a resized thumbnail. This uses more CPU but less network bandwidth.
'1' Send the full-size image. This uses less CPU but more network bandwidth.
An image URL Use the same image for all thumbnails.

Example thumbnail cache:

$config['cops_thumbnail_cache_directory'] = '/var/cache/cops/thumbnails/';

8. Templates, styles, and assets

Option Default Description
cops_template 'bootstrap2' Default HTML template. Available values include default, bootstrap, bootstrap2, bootstrap5, and twigged.
cops_style 'default' Default style. Available values include base, default, eink, iphone, iphone7, and kindle.
cops_templates_directory dirname(__DIR__) . '/templates/' Directory containing COPS templates.
cops_twig_templates ['twigged', 'twigged5', 'admin', 'markdown'] Templates that use the Twig template engine.
cops_assets 'vendor/npm-asset' URL prefix used by templates for JavaScript and CSS assets.
cops_customize [] Default customization values per user. This feature is marked as unfinished in the source configuration.
cops_language '' Forced language code. Empty means automatic language detection.

The cops_customize setting should be treated as experimental until its behavior is fully documented.


9. Administration and developer settings

These options are intended for administrators, developers, and test installations.

9.1 Administration

Option Default Description
cops_enable_admin false Enables administrative features. false disables them, true enables them for everyone, a string enables them for one authenticated user, and an array enables them for selected users.
cops_api_key '' API key for selected restricted REST API features. The source marks this as development-only.

Example restricted admin access:

$config['cops_enable_admin'] = 'admin';

Example for multiple users:

$config['cops_enable_admin'] = [
    'admin',
    'librarian',
];

Security: Do not enable administrative features for everyone when COPS is accessible from the Internet.

9.2 Development and experimental features

Option Default Status and description
cops_normalized_search '0' Experimental. Enables more tolerant but slower searching.
cops_browse_books_directory '' Work in progress. Browses books outside the main Calibre library.
cops_browse_books_getfiles '' Work in progress. Uses a pre-generated file list for additional folders.
cops_search_annotations '0' Unfinished. Intended to search user annotations.
cops_customize [] Unfinished. Provides default customization values per user.
cops_enable_admin false Security-sensitive administration feature.
cops_api_key '' Development-only API access setting.
cops_pdfjs_viewer '' May require the complete PDF.js package.
cops_comic_reader '' Optional reader integration; some choices require Composer packages.
cops_epubjs_reader_settings '{ arrows: "content", flow: "paginated", openbook: false }' Reader-specific JavaScript configuration.

9.3 Miscellaneous compatibility settings

Option Default Description
cops_generate_invalid_opds_stream '0' Compatibility setting for clients that cannot use a strictly compliant OPDS stream.
cops_fetch_protect '0' Compatibility and security setting for older readers that cannot download from a password-protected catalog.
cops_server_side_render 'Kindle\/1\.\d|Kindle\/2\.\d|Kindle\/3\.\d|EBRD1101|EBRD1201|cybook|Kobo' Device matching expression for server-side rendering.

10. Alphabetical configuration index

The following index lists every configuration option in config/default.php and identifies its primary topic.

Option Primary topic
calibre_categories_using_hierarchy Library administrator: custom columns and categories
calibre_database_field_cover Library administrator: Calibre libraries
calibre_database_field_image Library administrator: Calibre libraries
calibre_directory Getting started and Calibre libraries
calibre_external_storage Library administrator: Calibre libraries
calibre_user_database Authentication and users
cops_api_key Administration and developer settings
cops_assets Templates, styles, and assets
cops_author_email Catalog identity
cops_author_name Catalog identity
cops_author_split_first_letter Reader settings: browsing
cops_author_uri Catalog identity
cops_basic_authentication Authentication and users
cops_books_filter Reader settings: browsing and filtering
cops_browse_books_directory Library administrator: additional book folders
cops_browse_books_getfiles Library administrator: additional book folders
cops_calibre_custom_column Reader settings: custom columns
cops_calibre_custom_column_list Reader settings: custom columns
cops_calibre_custom_column_preview Reader settings: custom columns
cops_calibre_virtual_libraries Library administrator: virtual libraries
cops_comic_reader Reader settings: online readers
cops_database_filter Library administrator: database filters
cops_download_filename Reader settings: downloads
cops_download_page Reader settings: downloads
cops_download_template Reader settings: downloads
cops_enable_admin Administration and developer settings
cops_epub_reader Reader settings: online readers
cops_epubjs_reader_settings Reader settings: online readers
cops_fetch_protect Authentication, users, and sessions
cops_form_authentication Authentication and users
cops_front_controller Server and deployment
cops_full_url Getting started and server deployment
cops_generate_invalid_opds_stream OPDS and e-reader compatibility
cops_home_page Reader settings: home page
cops_html_filter_links Reader settings: browsing and filtering
cops_html_filter_limit Reader settings: browsing and filtering
cops_html_tag_filter Reader settings: browsing and filtering
cops_html_thumbnail_height Server and deployment: images
cops_html_sort_links Reader settings: browsing and sorting
cops_icon Reader settings: appearance
cops_ignored_categories Reader settings: home page and search
cops_ignored_formats Reader settings: formats
cops_kepubify_path Reader settings: Kobo
cops_language Templates, styles, and localization
cops_mail_configuration Reader settings: Kindle and email
cops_max_item_per_page Reader settings: home page and catalog content
cops_normalized_search Administration and developer settings
cops_opds_filter_links OPDS and e-reader settings
cops_opds_filter_limit OPDS and e-reader settings
cops_opds_sort_links OPDS and e-reader settings
cops_opds_thumbnail_height OPDS and e-reader settings
cops_pdfjs_viewer Reader settings: online readers
cops_prefered_format Reader settings: formats
cops_provide_kepub Reader settings: Kobo
cops_random_books Reader settings: home page
cops_random_filter Reader settings: home page
cops_recentbooks_limit Reader settings: home page
cops_resources_cdn Server and deployment
cops_search_annotations Reader settings: searching
cops_search_comments Reader settings: searching
cops_search_notes Reader settings: searching
cops_search_strip_html Reader settings: searching
cops_server_side_render OPDS and e-reader compatibility
cops_session_name Authentication, users, and sessions
cops_session_timeout Authentication, users, and sessions
cops_show_icons Reader settings: appearance and OPDS
cops_show_not_set_filter Reader settings: home page and filtering
cops_style Templates, styles, and assets
cops_tag_split_first_letter Reader settings: browsing
cops_template Templates, styles, and assets
cops_templates_directory Templates, styles, and assets
cops_titles_split_first_letter Reader settings: browsing
cops_titles_split_publication_year Reader settings: browsing
cops_thumbnail_cache_directory Server and deployment: images
cops_thumbnail_default Server and deployment: images
cops_thumbnail_handling Server and deployment: images
cops_trusted_headers Server and deployment: reverse proxies
cops_trusted_proxies Server and deployment: reverse proxies
cops_twig_templates Templates, styles, and assets
cops_update_epub-metadata Reader settings: downloads
cops_use_fancyapps Reader settings: appearance
cops_virtual_library Library administrator: virtual libraries
cops_x_accel_mapping Server and deployment: accelerated downloads
cops_x_accel_redirect Server and deployment: accelerated downloads
default_timezone Library administrator: catalog identity

Related documentation

Clone this wiki locally