summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/invidious.cr14
-rw-r--r--src/invidious/config.cr2
2 files changed, 13 insertions, 3 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index b422dcbb..0be73555 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -239,8 +239,6 @@ add_context_storage_type(Preferences)
add_context_storage_type(Invidious::User)
Kemal.config.logger = LOGGER
-Kemal.config.host_binding = Kemal.config.host_binding != "0.0.0.0" ? Kemal.config.host_binding : CONFIG.host_binding
-Kemal.config.port = Kemal.config.port != 3000 ? Kemal.config.port : CONFIG.port
Kemal.config.app_name = "Invidious"
# Use in kemal's production mode.
@@ -249,4 +247,14 @@ Kemal.config.app_name = "Invidious"
Kemal.config.env = "production" if !ENV.has_key?("KEMAL_ENV")
{% end %}
-Kemal.run
+Kemal.run do |config|
+ if CONFIG.bind_unix
+ if File.exists?(CONFIG.bind_unix.not_nil!)
+ File.delete(CONFIG.bind_unix.not_nil!)
+ end
+ config.server.not_nil!.bind_unix CONFIG.bind_unix.not_nil!
+ else
+ Kemal.config.host_binding = Kemal.config.host_binding != "0.0.0.0" ? Kemal.config.host_binding : CONFIG.host_binding
+ Kemal.config.port = Kemal.config.port != 3000 ? Kemal.config.port : CONFIG.port
+ end
+end
diff --git a/src/invidious/config.cr b/src/invidious/config.cr
index c4ca622f..ff768197 100644
--- a/src/invidious/config.cr
+++ b/src/invidious/config.cr
@@ -138,6 +138,8 @@ class Config
property port : Int32 = 3000
# Host to bind (overridden by command line argument)
property host_binding : String = "0.0.0.0"
+ # Make Invidious listening on UNIX sockets - Example: /tmp/invidious.sock
+ property bind_unix : String? = nil
# Pool size for HTTP requests to youtube.com and ytimg.com (each domain has a separate pool of `pool_size`)
property pool_size : Int32 = 100
# HTTP Proxy configuration