To use these settings, create a configuration file named config.yaml
.
Most of these settings should also be configurable from a client.
The configuration file supports the expansion of environment variables in the form of ${NAME}
.
This means, for example, key: ${PATH}
is read by HPX as key: /your/actual/path
.
Option |
Default |
Scope |
Description |
---|---|---|---|
advanced |
|||
crop_thumbnail_alignment |
0 |
server |
An number between 0 (left) to 1 (right) |
crop_wide_thumbnails |
True |
server |
Whether to crop wide thumbnails |
enable_auto_indexing |
True |
server |
Auto index |
enable_cache |
True |
server |
Enable the cache |
enabled_loggers |
server |
Loggers to enable. Available loggers: client,command,core,database,gui,network,plugin,search,server,misc |
|
esearch_timeout |
60 |
server |
How many seconds to wait for ES to be up before exiting |
image_sizes |
{‘big’: [300, 416], ‘medium’: [200, 276], ‘small’: [100, 136], ‘x2400’: [2400, 0], ‘x1600’: [1600, 0], ‘x1280’: [1280, 0], ‘x960’: [960, 0], ‘x768’: [768, 0]} |
server |
Image sizes, provided as key:value where value is a list [width, height]and key is one of big, medium, small, x2400, x1600, x1200, x960, x768 |
redis_timeout |
20 |
server |
How many seconds to wait for redis to be up before exiting |
client |
|||
translation_locale |
en_us |
client |
The default translation locale when none is specified. See folder /translations for available locales |
core |
|||
allow_alpha_releases |
False |
server |
Allow downloading alpha releases |
allow_beta_releases |
True |
server |
Allow downloading beta releases |
auto_backup_interval |
72 |
server |
Interval in hours between periodically performing a backup, set to 0 to disable to auto backup (default: 3 days) |
auto_cache_clean_size |
2000 |
server |
Maximum size in megabytes to which the cache folder will automatically get emptied when exceeded |
auto_install_release |
True |
server |
Automatically download, install and restart when a new update is found |
auto_pages_clean_size |
800 |
server |
Maximum size in megabytes to which the pages cache folder will automatically get emptied when exceeded |
auto_temp_clean_size |
800 |
server |
Maximum size in megabytes to which the temp folder will automatically get emptied when exceeded |
auto_thumb_clean_size |
500 |
server |
Maximum size in megabytes to which the thumbnail cache folder will automatically get emptied when exceeded |
backup_dir |
backups |
server |
Directory where to create backups |
backup_on_update |
True |
server |
Create a backup before applying a new update |
cache_expiration_time |
43200 |
client |
How much time in seconds items are to be cached for before they expire (default: 12 hours) |
check_new_releases |
True |
server |
Regularly check for updates |
check_release_interval |
30 |
server |
Interval in minutes between checking for a new update, set 0 to only check once every startup |
concurrent_image_tasks |
10 |
server |
Amount of image service tasks allowed to run at the same time (higher count does not necessarily mean faster generation) |
concurrent_network_tasks |
50 |
server |
Amount of network service tasks allowed to run at the same time (higher count does not necessarily mean faster network speed) |
debug |
False |
server |
Run in debug mode |
interface_cache_time |
21600 |
server |
How many seconds to hold on to cached values from client functions (default: 6 hour) |
message_cache_time |
3600 |
server |
How many seconds to hold on to cached server messages (default: 1 hour) |
pg_dump_tool_path |
pg_dump |
server |
Path to pg_dump tool. On Windows the default path is ‘bin/win32/pg_dump.exe’. On Unix the default path is ‘pg_dump’ which assumes the tool is available in PATH |
pg_restore_tool_path |
pg_restore |
server |
Path to pg_restore tool. On Windows the default path is ‘bin/win32/pg_restore.exe’. On Unix the default path is ‘pg_restore’ which assumes the tool is available in PATH |
report_critical_errors |
True |
server |
Send occurring critical errors to me (creator) so I can fix them faster |
send_to_systemtrash |
True |
client |
Send deleted files to the os recycle bin |
trash_item_delete_files |
True |
server |
Whether to also delete the files on the filesystem when an item gets removed by the periodic trash sweeper |
trash_item_duration |
168.0 |
server |
How many hours an item can stay in the trash before getting deleted PERMANENTLY (default is 7 days) |
trash_send_to_systemtrash |
True |
server |
Whether to to send deleted files to the os recycle bin when an item gets removed by the periodic trash sweeper |
unrar_tool_path |
unrar |
server |
Path to unrar tool. On Windows the default path is ‘bin/win32/unrar.exe’. On Unix the default path is ‘unrar’ which assumes the tool is available in PATH |
db |
|||
dialect |
sqlite |
server |
Which SQL dialect to use between ‘sqlite’ and ‘postgresql’. Note that HPX will not transfer data from one dialect to another once chosen. It is therefore advised that you choose a dialect early and stick to it throughout. Only Postgres version 9.4 and up is supported |
host |
server |
Database host. This setting does not apply when the SQLite dialect is used |
|
name |
happypanda |
server |
Database name. This setting does not apply when the SQLite dialect is used |
password |
server |
Database password. This setting does not apply when the SQLite dialect is used |
|
pool_size |
15 |
server |
The size of the pool to be maintained. This is the largest number of connections that will be kept persistently in the pool. This setting does not apply when the SQLite dialect is used |
pool_timeout |
45 |
server |
The number of seconds to wait before giving up on returning a connection. This setting does not apply when the SQLite dialect is used |
port |
server |
Database port. This setting does not apply when the SQLite dialect is used |
|
query |
{} |
server |
A mapping of options to be passed to the database upon connect |
sqlite_database_timeout |
30 |
server |
Amount of seconds to wait for the database to be writeable |
username |
server |
Database user name. This setting does not apply when the SQLite dialect is used |
|
download |
|||
delete_failed_downloads |
True |
client |
Delete a download item if the processing was incomplete |
disabled |
server |
A list of downloaders that shouldn’t be used, this is a list of download identifiers defined by the respective plugins |
|
download_cache_dir |
server |
Folder where to put temporary downloaded resources |
|
download_dir |
downloads |
client |
Folder where to put successfully downloaded resources |
import |
True |
client |
Import item (if applicable) after it has been downloaded successfully |
options |
{} |
server |
A mapping of setting:value, where setting is a fully qualified name of a config setting that should be overwritten For example: { ‘import.move_gallery’ : true, ‘import.move_dir’: ‘some/other/path’ } to move downloaded galleries to `some/other/path` during import |
priority |
server |
A priority list of downloaders, this is a list of download identifiers defined by the respective plugins. |
|
size |
4 |
server |
Size of concurrent downloads |
skip_if_downloaded_before |
True |
client |
Skip a download URL if it has been successfully downloaded before |
skip_if_item_exists |
True |
client |
Prevent adding a download item if it already exists in the database |
gallery |
|||
auto_rate_on_favorite |
True |
client |
Automatically set unrated galley rating to highest on favorite |
auto_remove_readlater |
True |
client |
Automatically remove a gallery from ReadLater when it has been read |
delete_files |
True |
client |
Delete gallery files on the filesystem when removing a gallery from the database |
external_image_viewer |
server |
Path to external image viewer executable |
|
external_image_viewer_args |
server |
Command arguments to supply the image viewer executable |
|
pages_to_read |
80.0 |
server |
How many pages (in percent) has to be read before the gallery is considered read |
send_extracted_archive |
False |
server |
Extract archive before sending path to external viewer |
send_path_to_first_file |
False |
server |
Send path to first file when opening a gallery in external viewer |
track_guest_read |
True |
server |
Track gallery read status for guests |
gui |
|||
autostart_server |
False |
server |
Start the server automatically on HPX GUI startup |
open_webclient_on_server_start |
True |
server |
Open the webclient in your default browser on server start |
send_to_tray_on_close |
False |
server |
Put the application in the notification tray on close button |
send_to_tray_on_minimize |
False |
server |
Put the application in the notification tray on minimize button |
start_minimized_to_tray |
False |
server |
Start the HPX GUI in a minimized to tray state |
start_on_boot |
False |
server |
Start HPX GUI automatically on boot |
import |
|||
add_to_inbox |
True |
client |
Add new galleries to inbox |
fail_on_move_error |
True |
client |
Avoid adding a gallery to the database if the move failed |
move_copy |
False |
client |
Copy a gallery to `move_dir` instead of moving it |
move_dir |
client |
Folder where to move successfully imported galleries |
|
move_gallery |
False |
client |
Move a gallery that has been imported successfully |
send_to_metadata_queue |
True |
client |
Send item (if applicable) to metadata queue after it has been imported successfully |
skip_existing_galleries |
True |
client |
Skip galleries that have already been added to HPX |
transparent_nested_folders |
True |
client |
Treat a nested folder as being transparent |
metadata |
|||
attributes |
{‘__all__’: True} |
client |
A mapping of item attributes specifying which attributes metadata should be applied to. Set attribte:true to ‘turn on’ the attribute or attribute:false to ‘turn off’. use __all__:true to ‘turn on’ all attributes not specified or __all__:false to ‘turn them off’. The default value if this setting is empty is __all__:true |
choose_first_candidate |
False |
server |
Always choose the first candidate to extract metadata from (choosing of candidate is not supported yet) |
continue_fetching |
True |
server |
If fetching from applied URLs fails, continue item lookup without URLs |
disabled |
server |
A list of metadata fetchers that shouldn’t be used, this is a list of metadata identifiers defined by the respective plugins |
|
only_if_never_fetched |
True |
server |
Only fetch metadata for an item if it has never had a successful fetch before, else skip it. Note that this does not interfere with the auto metadata updater. |
overwrites |
{‘__all__’: False} |
client |
A mapping of item attributes specifying how an attribute should be written. Set attribute_name:true to replace the attribute or attribute_name:false to update it if applicable.Use __all__:true to replace all attributes not specified or __all__:false to only update them. The default action if this setting is empty is __all__:False |
priority |
server |
A priority list of metadata fetchers, this is a list of metadata identifiers defined by the respective plugins. Note that the priority is just a hint and not a guarantee. |
|
size |
4 |
server |
Size of concurrent metadata fetches |
stop_after_first |
True |
server |
Halt item metadata lookup after first successful lookup |
use_applied_urls |
True |
server |
Fetch metadata from the applied URLs |
network |
|||
delays |
{} |
server |
Impose delays when peforming requests on certain urls. A mapping of url:delay in seconds |
delays_jitter |
0.3 |
server |
A randomization factor to add when delaying, should be a value between 0 and 1, inclusive |
proxy |
{‘http’: ‘’, ‘https’: ‘’} |
server |
Specify network proxies. Proxy URLs must include the scheme. To use HTTP Basic Auth with your proxy, use the http://user:password@host/ syntax |
request_timeout |
30 |
server |
Upper limit of a request timeout in seconds |
plugin |
|||
auto_install_plugin |
False |
server |
Automatically install a discovered plugin |
auto_install_plugin_dependency |
True |
server |
Automatically install a plugin’s dependencies when installing a plugin |
auto_install_plugin_release |
True |
server |
Automatically download and install a new plugin update is found |
check_new_plugin_releases |
True |
server |
Regularly check plugins for updates |
check_plugin_release_interval |
45 |
server |
Interval in minutes between checking plugins for a new update, set 0 to only check once every startup |
plugin_dir |
server |
Additional optional plugin directory to look for plugins |
|
search |
|||
case_sensitive |
False |
client |
Search filter is case sensitive |
children |
True |
client |
Also match on children |
match_all_terms |
True |
client |
Match only items that has all terms |
match_exact |
False |
client |
Match terms exact instead of fuzzy |
regex |
False |
client |
Allow regex in search filters |
server |
|||
allow_guests |
True |
server |
Specify if guests are allowed on this server |
allowed_clients |
0 |
server |
Limit amount of clients allowed to be connected (0 means no limit) |
disable_default_user |
False |
server |
Disable default user |
elasticsearch_host |
127.0.0.1 |
server |
ElasticSearch host |
elasticsearch_port |
7010 |
server |
ElasticSearch port |
elasticsearch_transport_port |
7011 |
server |
ElasticSearch transport port |
enable_http_endpoint |
True |
server |
Enable the /server HTTP endpoint on the webserver for communicating with HPX |
enable_ssl |
False |
server |
Enable SSL, valid values are true/false or “server”/”web” to only enable for the specific component |
expose_server |
False |
server |
Attempt to expose the server through portforwading |
host |
localhost |
server |
Specify which address the server should bind to |
host_web |
0.0.0.0 |
server |
Specify which address the webserver should bind to |
port |
7007 |
server |
Specify which port to start the server on |
port_range |
{‘from’: 7010, ‘to’: 7018} |
server |
Specify a range of ports to attempt |
port_web |
7008 |
server |
Specify which port to start the webserver on |
redis_db |
0 |
server |
Redis database |
redis_host |
127.0.0.1 |
server |
Redis server host |
redis_password |
server |
Redis server password |
|
redis_port |
7009 |
server |
Redis server port |
require_auth |
False |
server |
Client must be authenticated to get write access |
server_cert |
{‘certfile’: None, ‘keyfile’: None} |
server |
Path to a certificate and the corresponding private key. If keyfile is not set, the private key will be taken from certfile. Note that if SSL is enabled and no cert files are provided, a self-signed certificate will be created and used instead. The self-signed certificate can be found at data/certs/ |
server_name |
momo_hinata_eri |
server |
Specifiy name of the server |
session_span |
0 |
server |
Specify the amount of time (in minutes) a session can go unused before expiring or 0 for never |
torrent_port |
7006 |
server |
Specify which port to start the torrent client on |
use_builtin_elasticsearch |
True |
server |
Use the elasticsearch server bundled with HPX |
use_builtin_redis |
True |
server |
Use the redis server bundled with HPX |
web_cert |
{‘certfile’: None, ‘keyfile’: None} |
server |
Same as server_cert. Values are inherited from server_cert If no values are provided and SSL is enabled for ‘web’ too |
watch |
|||
auto_add |
True |
server |
Auto add new items to the database. Only auto-adding is supported at this time |
dirs |
server |
A list of folders to watch for changes. The same special token syntax as in the gallery scanner is NOT supported here. If a path is located on a network, remember to add it to the ‘watch.network’ setting |
|
enable |
True |
server |
Enable monitoring folders for changes |
ignore |
server |
A list of folders or files to ignore, glob patterns are also allowed |
|
network |
server |
A list of folders that resides on a network. There is no need to specify sub-folders, one root folder is enough |
|
options |
{} |
server |
A mapping of path:options, where options is a mapping of settings to apply for the given path. For example: { ‘some/path/’ : { ‘watch.auto_add’: true } } to auto add items for this specific path |
scan_on_startup |
True |
server |
Scan for new items in watched folders on startup |