Skip to content

Configuring Tachidesk Server

Mitchell Syer edited this page Jul 18, 2023 · 20 revisions

Tachidesk-Server configuration file is named server.conf and is located inside the data directory.

The configuration file is written in HOCON. Google is your friend if you want to know more.

Note: new keys might be added in the future, Tachidesk-Server doesn't update your conf file automatically, so it might be missing some keys.

Troubleshooting

I messed up my configuration file

  • The reference configuration file can be found here replace your whole configuration or erroneous keys referring to it.
  • Tachidesk will create a default configuration file when one doesn't exist, you can delete server.conf to get a copy of the reference configuration file after a restart.

I am running tachidesk in a headless environment (docker, NAS, VPS, etc.)

  • Set server.systemTrayEnabled to false, it will prevent Tachidesk to attempt to create a System Tray icon.
  • Set server.initialOpenInBrowserEnabledto false, it will prevent Tachidesk to attempt to open a browser on startup.

My Tachidesk data directory/downloads size is getting to big

  • Set server.downloadsPath to the desired path, if you only need to change where downloads are stored. You have to move/remove the existing downloads manually.
  • Set the special server.rootDir key if you need tachidesk to use a custom data directory path, refer to this section.

Configuration Options

Server ip and port bindings

server.ip = "0.0.0.0"
server.port = 4567
  • server.ip can be a IP or domain name.

Socks5 proxy

server.socksProxyEnabled = false
server.socksProxyHost = ""
server.socksProxyPort = ""

This section directs Tachidesk-Server to connect to the network through a proxy server.

An example configuration can be:

server.socksProxyEnabled = true
server.socksProxyHost = "yourproxyhost.com"
server.socksProxyPort = "8080"

webUI

server.webUIEnabled = true
server.initialOpenInBrowserEnabled = true
server.webUIInterface = "browser" # "browser" or "electron"
server.electronPath = ""
server.webUIFlavor = "WebUI" # "WebUI" or "Custom"
  • server.webUIEnabled controls if Tachidesk-Server will serve Tachidesk-WebUI and if it downloads/updates it on startup.
  • server.initialOpenInBrowserEnabledcontrols if Tachidesk-Server will attempt to open a brwoser/electron window on startup, disabling this on headless servers is recommended.
  • server.webUIInterface which web interface should Tachidesk-Server launch on startup, options are "browser" and "electron"
  • server.electronPath path of the main electron executable, should be in double quotes
  • server.webUIFlavor set "WebUI" to make the server download and update Tachidesk-WebUI automatically or "Custom" if you want the server to serve a custom web interface that you manage by yourself.
    • Note: "Custom" would be useful if you want to test preview versions of Tachidesk-WebUI or when you are using or developing other web interfaces like the web version of Tachidesk-Sorayomi.

Authentication

server.basicAuthEnabled = false
server.basicAuthUsername = ""
server.basicAuthPassword = "" 
  • server.basicAuthEnabled controls whether if Tachidesk-Server should be protected with Basic access authentication, enabling this option is useful when hosting on a public network/the Internet.
  • server.basicAuthUsername the username value that you have to provide when authenticating.
  • server.basicAuthPassword the password value that you have to provide when authenticating.

Note: Basic access authentication sends username and password in cleartext and is not completely secure over HTTP, it's recommended to pair this feature with a reverse proxy server like nginx and expose the server over HTTPS. Also your browser caches the credentials, so you should be careful when accessing the server from non-private devices and use incognito mode.

misc

server.debugLogsEnabled = false
server.systemTrayEnabled = true
server.downloadsPath = ""
  • server.debugLogsEnabled controls whether if Tachidesk-Server should print more information while being run inside a Terminal/CMD/Powershell window.
  • server.systemTrayEnabled = true whether if Tachidesk-Server should show a System Tray Icon, disabling this on headless servers is recommended.
  • server.downloadsPath = "" the path where manga downloads will be stored, if the value is empty, the default directory downloads inside the data directory will be used. If you are on Windows the slashes \ needs to be doubled(\\) or replaced with /

Overriding configuration options with command-line arguments

You can override the above configuration options with command-line arguments. You usually only need to set this when using custom setups like a portable version of Tachidesk or your if your User dir cannot be written to or your system administrator doesn't allow it.

Use the pattern bellow.

java -Dsuwayomi.tachidesk.config.<configuration option 1>=<configuration value 1> -Dsuwayomi.tachidesk.config.<configuration option 2>=<configuration value 2> ... -Dsuwayomi.tachidesk.config.<configuration option N>=<configuration value N> -jar <path to server jar>

for example to force launching Tachidesk-Server in electron you would have something like:

java -Dsuwayomi.tachidesk.config.server.webUIInterface=electron -Dsuwayomi.tachidesk.config.server.electronPath="/path/to/electron" -jar Tachidesk-Server-v0.X.Y-rXXXX.jar

Note: you can put the command above in a custom launcher script like the ones found here.

Overriding Tachidesk-Server's Data Directory path

The only possible way to override the default Data Directory path is with command-line arguments(the chicken and egg problem!). Add the special config option server.rootDir="<path to data directory>" to your command-line arguments.

For example:

java -Dsuwayomi.tachidesk.config.server.rootDir="/path/to/data/directory" -jar Tachidesk-Server-v0.X.Y-rXXXX.jar