summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrun-gomf-modpanel.bash90
1 files changed, 90 insertions, 0 deletions
diff --git a/run-gomf-modpanel.bash b/run-gomf-modpanel.bash
new file mode 100755
index 0000000..220b06d
--- /dev/null
+++ b/run-gomf-modpanel.bash
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+# This software is released into public domain.
+# It is provided "as is", without warranties or conditions of any kind.
+# Anyone is free to modify, redistribute and do anything with this software.
+
+# Simple startup/configuration script for gomf-modpanel
+# Leave options blank ("OPTION=", "OPTION=''") or comment them out to use
+# gomf-modpanel defaults (see `gomf-modpanel --help`)
+
+set -e
+
+###############################################################################
+
+
+# The gomf-modpanel binary
+#GOMF_MODPANEL_BIN=gomf-modpanel
+
+# Root folder for Gomf containing gomf-modpanel-web files
+#
+# Defaults to current directory if not set.
+#GOMF_MODPANEL_ROOT=~/www/gomf-modpanel-web
+
+# Root folder for Gomf containing gomf-web files
+#
+# Defaults to current directory if not set.
+#GOMF_ROOT=~/www/gomf-web/
+
+# URL path prefix to serve modpanel under
+#URL_PREFIX=/mod/
+
+# URL path to deletion log
+#DELETION_LOG=/deleted
+
+# The URL that Gomf serves uploaded files on
+#
+# Defaults to /u/
+#UPLOAD_URL=https://u.example.com/
+
+# The host to listen on for HTTP and/or HTTPS
+#
+# Use 'localhost' if using local reverse proxy, 0.0.0.0 to listen to any host
+# or a specific hostname to only allow connections to that address.
+#LISTEN_HOST=localhost
+
+# The port to listen on for HTTP
+#
+# 80 for a standard HTTP server, probably a higher port (e.g. 9000) if
+# reverse-proxied.
+#HTTP_PORT=8080
+
+# The port to listen on for HTTPS
+#
+# 443 for a standard HTTPS server. Requires TLS_CERT and TLS_KEY
+#HTTPS_PORT=8443
+
+# SSL certificate for HTTPS
+#TLS_CERT=cert.pem
+
+# SSL certificate key for HTTPS
+#TLS_KEY=key.pem
+
+# List of usernames and passwords that can access the mod panel
+#
+# Entries should be in the form "user:password"
+#ACCESS=(
+# test:test
+#)
+
+
+###############################################################################
+
+flags=()
+[ -n "$GOMF_MODPANEL_ROOT" ] && cd "$GOMF_MODPANEL_ROOT"
+[ -n "$GOMF_ROOT" ] && flags+=(--gomf-root "$GOMF_ROOT")
+[ -n "$URL_PREFIX" ] && flags+=(--prefix "$URL_PREFIX")
+[ -n "$DELETION_LOG" ] && flags+=(--deletion-log "$DELETION_LOG")
+[ -n "$UPLOAD_URL" ] && flags+=(--upload-url "$UPLOAD_URL")
+[ -n "$HTTP_PORT" ] && flags+=(--http "${HTTP_HOST:-localhost}:$HTTP_PORT")
+[ -n "$HTTPS_PORT" ] && [ -n "$TLS_CERT" ] && [ -n "$TLS_KEY" ] && flags+=(
+ --https "${HTTP_HOST:-localhost}:$HTTPS_PORT"
+ --cert "$TLS_CERT" --key "$TLS_KEY")
+oldifs="$IFS" IFS=,
+[ -n "$ACCESS[*]" ] && flags+=(--access "${ACCESS[*]}")
+IFS="$oldifs"
+
+printf "%s" "${GOMF_MODPANEL_BIN:-gomf-modpanel}"
+[ "${#flags}" -gt 0 ] && printf " \"%s\"" "${flags[@]}"
+printf "\n"
+exec "${GOMF_MODPANEL_BIN:-gomf-modpanel}" "${flags[@]}"