diff --git a/Dockerfile b/Dockerfile index 63d6c8a..b073ad8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,14 +6,14 @@ ENV DEBIAN_FRONTEND=noninteractive # Install lighttpd and clean up apt cache RUN apt update && \ - apt install -y --no-install-recommends lighttpd && \ + apt install -y --no-install-recommends lighttpd # Expose the default lighttpd port EXPOSE 80 -# Copy any custom config or website content if needed -# COPY ./lighttpd.conf /etc/lighttpd/lighttpd.conf -# COPY ./html /var/www/html +# Copy custom config and website content +COPY ./lighttpd_targo.conf /etc/lighttpd/lighttpd.conf +COPY ./html /var/www/html # Start lighttpd in the foreground CMD ["lighttpd", "-D", "-f", "/etc/lighttpd/lighttpd.conf"] diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..b26d830 --- /dev/null +++ b/html/index.html @@ -0,0 +1,200 @@ + + + + + TV Channel ID Manager + + + + + + + + + + +
+ + +
+
+ +
+ +
+ + +
+
+ + +
+ +
+
+ + + + + + + + + diff --git a/lighttpd_targo.conf b/lighttpd_targo.conf new file mode 100644 index 0000000..6d04600 --- /dev/null +++ b/lighttpd_targo.conf @@ -0,0 +1,59 @@ +server.modules = ( + "mod_indexfile", + "mod_access", + "mod_alias", + "mod_redirect", + "mod_setenv", +) + +server.document-root = "/var/www/html" +server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) +server.errorlog = "/var/log/lighttpd/error.log" +server.pid-file = "/run/lighttpd.pid" +server.username = "www-data" +server.groupname = "www-data" +server.port = 80 + +# features +#https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_feature-flagsDetails +server.feature-flags += ("server.h2proto" => "enable") +server.feature-flags += ("server.h2c" => "enable") +server.feature-flags += ("server.graceful-shutdown-timeout" => 5) +#server.feature-flags += ("server.graceful-restart-bg" => "enable") + +# strict parsing and normalization of URL for consistency and security +# https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_http-parseoptsDetails +# (might need to explicitly set "url-path-2f-decode" = "disable" +# if a specific application is encoding URLs inside url-path) +server.http-parseopts = ( + "header-strict" => "enable",# default + "host-strict" => "enable",# default + "host-normalize" => "enable",# default + "url-normalize-unreserved"=> "enable",# recommended highly + "url-normalize-required" => "enable",# recommended + "url-ctrls-reject" => "enable",# recommended + "url-path-2f-decode" => "enable",# recommended highly (unless breaks app) + #"url-path-2f-reject" => "enable", + "url-path-dotseg-remove" => "enable",# recommended highly (unless breaks app) + #"url-path-dotseg-reject" => "enable", + #"url-query-20-plus" => "enable",# consistency in query string +) + +index-file.names = ( "index.php", "index.html" ) +url.access-deny = ( "~", ".inc" ) +static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) + +# default listening port for IPv6 falls back to the IPv4 port +include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port +include_shell "/usr/share/lighttpd/create-mime.conf.pl" +include "/etc/lighttpd/conf-enabled/*.conf" + +#server.compat-module-load = "disable" +server.modules += ( + "mod_dirlisting", + "mod_staticfile", +) + +$HTTP["url"] =~ "clean_CANADA_USA\.xml$" { + setenv.add-response-header = ( "Content-Disposition" => "attachment" ) +} \ No newline at end of file