mirror of
https://github.com/hnhx/librex.git
synced 2025-01-10 03:37:25 -03:00
68 lines
4.7 KiB
Bash
68 lines
4.7 KiB
Bash
#!/bin/sh
|
|
|
|
# YOU DON'T NEED TO EDIT THIS FILE. IF YOU WANT TO SET CUSTOM ENVIRONMENT VARIABLES,
|
|
# USE THE 'DOCKERFILE IMAGE' FROM ROOT DIRECTORY AND PASS THE ENVIRONMENT PARAMETERS
|
|
|
|
# This variable changes the behavior of the image builder to remove the base image
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
# These templates will be used to create configuration files that incorporate values from environment variables
|
|
# If these locations do not already exist within the Docker container, they will be created
|
|
export CONFIG_PHP_TEMPLATE="$(pwd)/scripts/tmp/config.php"
|
|
export CONFIG_NGINX_TEMPLATE="$(pwd)/scripts/tmp/nginx.conf"
|
|
export CONFIG_OPEN_SEARCH_TEMPLATE="$(pwd)/scripts/tmp/opensearch.xml"
|
|
|
|
# Configure 'opensearch.xml' with Librex configuration metadata, such as the encoding and the host that stores the site
|
|
# These configurations will replace the 'opensearch.xml' inside '.dockers/templates' for the best setup for your instance
|
|
export OPEN_SEARCH_TITLE="${OPEN_SEARCH_TITLE:-'LibreX'}"
|
|
export OPEN_SEARCH_DESCRIPTION="${OPEN_SEARCH_DESCRIPTION:-'Framework and javascript free privacy respecting meta search engine'}"
|
|
export OPEN_SEARCH_ENCODING="${OPEN_SEARCH_ENCODING:-'UTF-8'}"
|
|
export OPEN_SEARCH_LONG_NAME="${OPEN_SEARCH_LONG_NAME:-'LibreX Search'}"
|
|
export OPEN_SEARCH_HOST="${OPEN_SEARCH_HOST:-'http://localhost:80'}"
|
|
|
|
# Replace the 'config.php' script, which contains the most common search engine configurations, with these environment setups
|
|
# These environment setups can be found in 'config.php', and the default configurations can be useful for most use cases
|
|
export CONFIG_GOOGLE_DOMAIN="${CONFIG_GOOGLE_DOMAIN:-'.com'}"
|
|
export CONFIG_GOOGLE_LANGUAGUE="${CONFIG_GOOGLE_LANGUAGUE:-'en'}"
|
|
export CONFIG_INVIDIOUS_INSTANCE="${CONFIG_INVIDIOUS_INSTANCE:-'invidious.namazso.eu'}"
|
|
export CONFIG_HIDDEN_SERVICE_SEARCH=${CONFIG_HIDDEN_SERVICE_SEARCH:-false}
|
|
export CONFIG_DISABLE_BITTORRENT_SEARCH=${CONFIG_DISABLE_BITTORRENT_SEARCH:-false}
|
|
export CONFIG_BITTORRENT_TRACKERS="${CONFIG_BITTORRENT_TRACKERS:-'&tr=http://nyaa.tracker.wf:7777/announce&tr=udp://open.stealth.si:80/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://exodus.desync.com:6969/announce&tr=udp://tracker.torrent.eu.org:451/announce'}"
|
|
|
|
# Supported apps integration configuration. These empty spaces can be set up using free hosts as pointers
|
|
# A particular example is using the "https://yewtu.be" or a self-hosted host to integrate the invidious app to librex
|
|
export APP_INVIDIOUS="${APP_INVIDIOUS:-''}"
|
|
export APP_BIBLIOGRAM="${APP_BIBLIOGRAM:-''}"
|
|
export APP_RIMGO="${APP_RIMGO:-''}"
|
|
export APP_SCRIBE="${APP_SCRIBE:-''}"
|
|
export APP_LIBRARIAN="${APP_LIBRARIAN:-''}"
|
|
export APP_GOTHUB="${APP_GOTHUB:-''}"
|
|
export APP_NITTER="${APP_NITTER:-''}"
|
|
export APP_LIBREREDDIT="${APP_LIBREREDDIT:-''}"
|
|
export APP_PROXITOK="${APP_PROXITOK:-''}"
|
|
export APP_WIKILESS="${APP_WIKILESS:-''}"
|
|
export APP_QUETRE="${APP_QUETRE:-''}"
|
|
export APP_LIBREMDB="${APP_LIBREMDB:-''}"
|
|
export APP_BREEZEWIKI="${APP_BREEZEWIKI:-''}"
|
|
export APP_ANONYMOUS_OVERFLOW="${APP_ANONYMOUS_OVERFLOW:-''}"
|
|
|
|
# GNU/Curl configurations. Leave 'CURLOPT_PROXY' blank whether you don't need to use a proxy for requests
|
|
# Generally, a proxy is needed when your IP address is blocked by search engines in response to multiple requests within a short time frame. In these cases, it is recommended to use rotating proxies
|
|
export CURLOPT_PROXY_ENABLED=${CURLOPT_PROXY_ENABLED:-false}
|
|
export CURLOPT_PROXY="${CURLOPT_PROXY:-''}"
|
|
export CURLOPT_RETURNTRANSFER=${CURLOPT_RETURNTRANSFER:-true}
|
|
export CURLOPT_ENCODING="${CURLOPT_ENCODING:-''}"
|
|
export CURLOPT_USERAGENT="${CURLOPT_USERAGENT:-'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'}"
|
|
export CURLOPT_CUSTOMREQUEST="${CURLOPT_CUSTOMREQUEST:-'GET'}"
|
|
export CURLOPT_MAXREDIRS=${CURLOPT_MAXREDIRS:-5}
|
|
export CURLOPT_TIMEOUT=${CURLOPT_TIMEOUT:-18}
|
|
export CURLOPT_VERBOSE=${CURLOPT_VERBOSE:-false}
|
|
|
|
# These shell functions will be available for use by any function calls
|
|
function AwkTrim() { awk '{$1=$1};1'; }
|
|
|
|
# The lines below will replace the environment variables in the templates with the corresponding variables listed above. To accomplish this, the GNU 'envsubst' package will be used
|
|
# Although not recommended (if you do not know what you are doing), you still have the option to add new substitution file templates using any required environment variables
|
|
[[ ! -s ${CONFIG_PHP_TEMPLATE} ]] && cat 'scripts/config.php' | envsubst | AwkTrim > ${CONFIG_PHP_TEMPLATE};
|
|
[[ ! -s ${CONFIG_NGINX_TEMPLATE} ]] && cat 'scripts/nginx.conf' | envsubst | AwkTrim > ${CONFIG_NGINX_TEMPLATE};
|
|
[[ ! -s ${CONFIG_OPEN_SEARCH_TEMPLATE} ]] && cat 'scripts/opensearch.xml' | envsubst | AwkTrim > ${CONFIG_OPEN_SEARCH_TEMPLATE};
|