From d717786aee7afb2cb5b515bfef8b66123b0ce1ec Mon Sep 17 00:00:00 2001 From: Jerry Aldrich Date: Sun, 20 Jun 2021 21:12:03 -0700 Subject: [PATCH] Initial commit --- Dockerfile | 20 ++++++++++++++ config.json | 42 +++++++++++++++++++++++++++++ lighttpd.conf | 31 +++++++++++++++++++++ mime-types.conf | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 164 insertions(+) create mode 100644 Dockerfile create mode 100644 config.json create mode 100644 lighttpd.conf create mode 100644 mime-types.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f1894c6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM vectorim/element-web:v1.9.0 as builder + +FROM alpine:latest + +LABEL maintainer "me@jerryaldrichiii.com" + +RUN apk add --no-cache lighttpd=1.4.54-r0 + +RUN chown -R lighttpd /var/log/lighttpd + +USER lighttpd + +COPY lighttpd.conf /etc/lighttpd/lighttpd.conf +COPY mime-types.conf /etc/lighttpd/mime-types.conf + +COPY --from=builder /app /srv/http/ + +EXPOSE 8080 + +CMD ["lighttpd", "-D", "-f", "/etc/lighttpd/lighttpd.conf"] diff --git a/config.json b/config.json new file mode 100644 index 0000000..1c48ce0 --- /dev/null +++ b/config.json @@ -0,0 +1,42 @@ +{ + "default_server_config": { + "m.homeserver": { + "base_url": "https://matrix.jerryaldrichiii.com", + "server_name": "jerryaldrichiii.com" + }, + "m.identity_server": { + "base_url": "https://vector.im" + } + }, + "disable_custom_urls": false, + "disable_guests": false, + "disable_login_language_selector": false, + "disable_3pid_login": false, + "brand": "Element", + "integrations_ui_url": "https://scalar.vector.im/", + "integrations_rest_url": "https://scalar.vector.im/api", + "integrations_widgets_urls": [ + "https://scalar.vector.im/_matrix/integrations/v1", + "https://scalar.vector.im/api", + "https://scalar-staging.vector.im/_matrix/integrations/v1", + "https://scalar-staging.vector.im/api", + "https://scalar-staging.riot.im/scalar/api" + ], + "bug_report_endpoint_url": "https://element.io/bugreports/submit", + "defaultCountryCode": "US", + "showLabsSettings": false, + "features": { }, + "default_federate": true, + "default_theme": "dark", + "roomDirectory": { + "servers": [ + "jerryaldrichii.com" + ] + }, + "settingDefaults": { + "breadcrumbs": true + }, + "jitsi": { + "preferredDomain": "meet.jerryaldrichiii.com" + } +} diff --git a/lighttpd.conf b/lighttpd.conf new file mode 100644 index 0000000..7bde817 --- /dev/null +++ b/lighttpd.conf @@ -0,0 +1,31 @@ +var.logdir = "/var/log/lighttpd" +var.statedir = "/var/lib/lighttpd" + +server.modules = ( + "mod_access", + "mod_accesslog", + "mod_setenv", +) + +include "mime-types.conf" + +server.document-root = "/srv/http/" +server.pid-file = "/tmp/lighttpd.pid" + +server.errorlog-use-syslog = "enable" +accesslog.use-syslog = "enable" + +server.indexfiles = ("index.html") + +server.port = 8080 + +setenv.add-response-header = ( + "X-Frame-Options" => "SAMEORIGIN", + "X-Content-Type-Options" => "nosniff", + "X-XSS-Protection" => "1; mode=block", + "Content-Security-Policy" => "frame-ancestors 'none'", +) + +url.access-deny = ("~", ".inc") + +server.network-backend = "writev" diff --git a/mime-types.conf b/mime-types.conf new file mode 100644 index 0000000..93ed465 --- /dev/null +++ b/mime-types.conf @@ -0,0 +1,71 @@ +mimetype.assign = ( + ".svg" => "image/svg+xml", + ".svgz" => "image/svg+xml", + ".pdf" => "application/pdf", + ".sig" => "application/pgp-signature", + ".spl" => "application/futuresplash", + ".class" => "application/octet-stream", + ".ps" => "application/postscript", + ".torrent" => "application/x-bittorrent", + ".dvi" => "application/x-dvi", + ".gz" => "application/x-gzip", + ".pac" => "application/x-ns-proxy-autoconfig", + ".swf" => "application/x-shockwave-flash", + ".tar.gz" => "application/x-tgz", + ".tgz" => "application/x-tgz", + ".tar" => "application/x-tar", + ".zip" => "application/zip", + ".dmg" => "application/x-apple-diskimage", + ".mp3" => "audio/mpeg", + ".m3u" => "audio/x-mpegurl", + ".wma" => "audio/x-ms-wma", + ".wax" => "audio/x-ms-wax", + ".ogg" => "application/ogg", + ".wav" => "audio/x-wav", + ".gif" => "image/gif", + ".jpg" => "image/jpeg", + ".jpeg" => "image/jpeg", + ".png" => "image/png", + ".xbm" => "image/x-xbitmap", + ".xpm" => "image/x-xpixmap", + ".xwd" => "image/x-xwindowdump", + ".css" => "text/css", + ".html" => "text/html", + ".htm" => "text/html", + ".js" => "text/javascript", + ".asc" => "text/plain", + ".c" => "text/plain", + ".h" => "text/plain", + ".cc" => "text/plain", + ".cpp" => "text/plain", + ".hh" => "text/plain", + ".hpp" => "text/plain", + ".conf" => "text/plain", + ".log" => "text/plain", + ".text" => "text/plain", + ".txt" => "text/plain", + ".diff" => "text/plain", + ".patch" => "text/plain", + ".ebuild" => "text/plain", + ".eclass" => "text/plain", + ".rtf" => "application/rtf", + ".bmp" => "image/bmp", + ".tif" => "image/tiff", + ".tiff" => "image/tiff", + ".ico" => "image/x-icon", + ".dtd" => "text/xml", + ".xml" => "text/xml", + ".mpeg" => "video/mpeg", + ".mpg" => "video/mpeg", + ".mov" => "video/quicktime", + ".qt" => "video/quicktime", + ".avi" => "video/x-msvideo", + ".asf" => "video/x-ms-asf", + ".asx" => "video/x-ms-asf", + ".wmv" => "video/x-ms-wmv", + ".bz2" => "application/x-bzip", + ".tbz" => "application/x-bzip-compressed-tar", + ".wasm" => "application/wasm", + ".tar.bz2" => "application/x-bzip-compressed-tar" + ) +