mirror of
https://github.com/hnhx/librex.git
synced 2025-04-29 14:09:27 -04:00
refactor: solve config errors of dockerfile and php configuration
This commit is contained in:
parent
6c38e14510
commit
1bcd0ec358
6 changed files with 115 additions and 39 deletions
|
@ -1,6 +1,6 @@
|
|||
# syntax = edrevo/dockerfile-plus
|
||||
ARG VERSION="3.17"
|
||||
FROM alpine:${VERSION} AS runner
|
||||
FROM alpine:${VERSION} AS librex
|
||||
WORKDIR "/var/www/html"
|
||||
|
||||
# Docker metadata contains information about the maintainer, such as the name, repository, and support email
|
||||
|
|
|
@ -19,12 +19,13 @@ export OPEN_SEARCH_HOST=${OPEN_SEARCH_HOST:-"127.0.0.1"}
|
|||
|
||||
# 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_LANGUAGE=${CONFIG_GOOGLE_LANGUAGE:-"en"}
|
||||
export CONFIG_INVIDIOUS_INSTANCE=${CONFIG_INVIDIOUS_INSTANCE:-"invidious.namazso.eu"}
|
||||
export CONFIG_GOOGLE_DOMAIN="${CONFIG_GOOGLE_DOMAIN:-"com"}"
|
||||
export CONFIG_GOOGLE_LANGUAGE_SITE="${CONFIG_GOOGLE_LANGUAGE_SITE:-"en"}"
|
||||
export CONFIG_GOOGLE_LANGUAGE_RESULTS="${CONFIG_GOOGLE_LANGUAGE_RESULTS:-"en"}"
|
||||
export CONFIG_INVIDIOUS_INSTANCE="${CONFIG_INVIDIOUS_INSTANCE:-"invidious.snopyta.org"}"
|
||||
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"}
|
||||
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"}"
|
||||
|
||||
# The settings that will be used to handle Wikipedia results displayed on the libreX search page
|
||||
# the settings below can be edited via environment variables.
|
||||
|
@ -52,12 +53,12 @@ export APP_ANONYMOUS_OVERFLOW=${APP_ANONYMOUS_OVERFLOW:-""}
|
|||
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_ENCODING=${CURLOPT_ENCODING:-"UTF-8"}
|
||||
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}
|
||||
export CURLOPT_VERBOSE=${CURLOPT_VERBOSE:-true}
|
||||
|
||||
# These shell functions will be available for use by any function calls
|
||||
function AwkTrim() { awk '{$1=$1};1'; }
|
||||
|
|
|
@ -1,37 +1,112 @@
|
|||
<?php
|
||||
return (object) array(
|
||||
"google_domain" => ${CONFIG_GOOGLE_DOMAIN},
|
||||
"google_language" => ${CONFIG_GOOGLE_LANGUAGE},
|
||||
"google_domain" => "${CONFIG_GOOGLE_DOMAIN}",
|
||||
"google_language_site" => "${CONFIG_GOOGLE_LANGUAGE_SITE}",
|
||||
"google_language_results" => "${CONFIG_GOOGLE_LANGUAGE_RESULTS}",
|
||||
|
||||
"wikipedia_language" => "${CONFIG_WIKIPEDIA_LANGUAGE}",
|
||||
"invidious_instance_for_video_results" => "${CONFIG_INVIDIOUS_INSTANCE}",
|
||||
|
||||
"wikipedia_language" => ${CONFIG_WIKIPEDIA_LANGUAGE},
|
||||
|
||||
"disable_bittorent_search" => ${CONFIG_DISABLE_BITTORRENT_SEARCH},
|
||||
"disable_bittorent_search" => "${CONFIG_DISABLE_BITTORRENT_SEARCH}",
|
||||
"bittorent_trackers" => "${CONFIG_BITTORRENT_TRACKERS}",
|
||||
"disable_hidden_service_search" => ${CONFIG_HIDDEN_SERVICE_SEARCH},
|
||||
"disable_hidden_service_search" => "${CONFIG_HIDDEN_SERVICE_SEARCH}",
|
||||
|
||||
"invidious" => "${APP_INVIDIOUS}", // youtube
|
||||
"bibliogram" => "${APP_BIBLIOGRAM}", // instagram
|
||||
"rimgo" => "${APP_RIMGO}", // imgur
|
||||
"scribe" => "${APP_SCRIBE}", // medium
|
||||
"librarian" => "${APP_LIBRARIAN}", // odysee
|
||||
"gothub" => "${APP_GOTHUB}", // github
|
||||
"nitter" => "${APP_NITTER}", // twitter
|
||||
"libreddit" => "${APP_LIBREREDDIT}", // reddit
|
||||
"proxitok" => "${APP_PROXITOK}", // tiktok
|
||||
"wikiless" => "${APP_WIKILESS}", // wikipedia
|
||||
"quetre" => "${APP_QUETRE}", // quora
|
||||
"libremdb" => "${APP_LIBREMDB}", // imdb
|
||||
"breezewiki" => "${APP_BREEZEWIKI}", // fandom
|
||||
"anonymousoverflow" => "${APP_ANONYMOUS_OVERFLOW}", // stackoverflow
|
||||
"frontends" => array(
|
||||
"invidious" => array(
|
||||
"instance_url" => "${APP_INVIDIOUS}",
|
||||
"project_url" => "https://docs.invidious.io/instances/",
|
||||
"original_name" => "YouTube",
|
||||
"original_url" => "youtube.com"
|
||||
),
|
||||
"bibliogram" => array(
|
||||
"instance_url" => "${APP_BIBLIOGRAM}",
|
||||
"project_url" => "https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md",
|
||||
"original_name" => "Instagram",
|
||||
"original_url" => "instagram.com"
|
||||
),
|
||||
"rimgo" => array(
|
||||
"instance_url" => "${APP_RIMGO}",
|
||||
"project_url" => "https://codeberg.org/video-prize-ranch/rimgo#instances",
|
||||
"original_name" => "Imgur",
|
||||
"original_url" => "imgur.com"
|
||||
),
|
||||
"scribe" => array(
|
||||
"instance_url" => "${APP_SCRIBE}",
|
||||
"project_url" => "https://git.sr.ht/~edwardloveall/scribe/tree/main/docs/instances.md",
|
||||
"original_name" => "Medium",
|
||||
"original_url" => "medium.com"
|
||||
),
|
||||
"gothub" => array(
|
||||
"instance_url" => "${APP_GOTHUB}",
|
||||
"project_url" => "https://codeberg.org/gothub/gothub/wiki/Instances",
|
||||
"original_name" => "GitHub",
|
||||
"original_url" => "github.com"
|
||||
),
|
||||
"librarian" => array(
|
||||
"instance_url" => "${APP_LIBRARIAN}",
|
||||
"project_url" => "https://codeberg.org/librarian/librarian#clearnet",
|
||||
"original_name" => "Odysee",
|
||||
"original_url" => "odysee.com"
|
||||
),
|
||||
|
||||
"nitter" => array(
|
||||
"instance_url" => "${APP_NITTER}",
|
||||
"project_url" => "https://github.com/zedeus/nitter/wiki/Instances",
|
||||
"original_name" => "Twitter",
|
||||
"original_url" => "twitter.com"
|
||||
),
|
||||
|
||||
"libreddit" => array(
|
||||
"instance_url" => "${APP_LIBREREDDIT}",
|
||||
"project_url" => "https://github.com/spikecodes/libreddit",
|
||||
"original_name" => "Reddit",
|
||||
"original_url" => "reddit.com"
|
||||
),
|
||||
"proxitok" => array(
|
||||
"instance_url" => "${APP_PROXITOK}",
|
||||
"project_url" => "https://github.com/pablouser1/ProxiTok/wiki/Public-instances",
|
||||
"original_name" => "TikTok",
|
||||
"original_url" => "tiktok.com"
|
||||
),
|
||||
"wikiless" => array(
|
||||
"instance_url" => "${APP_WIKILESS}",
|
||||
"project_url" => "https://github.com/Metastem/wikiless#instances",
|
||||
"original_name" => "Wikipedia",
|
||||
"original_url" => "wikipedia.com"
|
||||
),
|
||||
"quetre" => array(
|
||||
"instance_url" => "${APP_QUETRE}",
|
||||
"project_url" => "https://github.com/zyachel/quetre",
|
||||
"original_name" => "Quora",
|
||||
"original_url" => "quora.com"
|
||||
),
|
||||
"libremdb" => array(
|
||||
"instance_url" => "${APP_LIBREMDB}",
|
||||
"project_url" => "https://github.com/zyachel/libremdb",
|
||||
"original_name" => "IMDb",
|
||||
"original_url" => "imdb.com"
|
||||
),
|
||||
"breezewiki" => array(
|
||||
"instance_url" => "${APP_BREEZEWIKI}",
|
||||
"project_url" => "https://gitdab.com/cadence/breezewiki",
|
||||
"original_name" => "Fandom",
|
||||
"original_url" => "fandom.com"
|
||||
),
|
||||
"anonymousoverflow" => array(
|
||||
"instance_url" => "${APP_ANONYMOUS_OVERFLOW}",
|
||||
"project_url" => "https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances",
|
||||
"original_name" => "StackOverflow",
|
||||
"original_url" => "stackoverflow.com"
|
||||
)
|
||||
),
|
||||
|
||||
"curl_settings" => array(
|
||||
CURLOPT_PROXY => "",
|
||||
CURLOPT_PROXY => "${CURLOPT_PROXY}",
|
||||
CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
|
||||
CURLOPT_RETURNTRANSFER => ${CURLOPT_RETURNTRANSFER},
|
||||
CURLOPT_ENCODING => "${CURLOPT_ENCODING}",
|
||||
CURLOPT_USERAGENT => "${CURLOPT_USERAGENT}",
|
||||
CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4,
|
||||
CURLOPT_IPRESOLVE => CURL_IPRESOLVE_WHATEVER,
|
||||
CURLOPT_CUSTOMREQUEST => "${CURLOPT_CUSTOMREQUEST}",
|
||||
CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP,
|
||||
CURLOPT_REDIR_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP,
|
||||
|
@ -39,6 +114,5 @@
|
|||
CURLOPT_TIMEOUT => ${CURLOPT_TIMEOUT},
|
||||
CURLOPT_VERBOSE => ${CURLOPT_VERBOSE}
|
||||
)
|
||||
|
||||
);
|
||||
?>
|
||||
|
|
|
@ -12,8 +12,9 @@ ENV OPEN_SEARCH_HOST="http://127.0.0.1:${NGINX_PORT}"
|
|||
# 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
|
||||
ENV CONFIG_GOOGLE_DOMAIN="com"
|
||||
ENV CONFIG_GOOGLE_LANGUAGE="en"
|
||||
ENV CONFIG_INVIDIOUS_INSTANCE="https://invidious.namazso.eu"
|
||||
ENV CONFIG_GOOGLE_LANGUAGE_SITE="en"
|
||||
ENV CONFIG_GOOGLE_LANGUAGE_RESULTS="en"
|
||||
ENV CONFIG_INVIDIOUS_INSTANCE="https://invidious.snopyta.org"
|
||||
ENV CONFIG_HIDDEN_SERVICE_SEARCH=false
|
||||
ENV CONFIG_DISABLE_BITTORRENT_SEARCH=false
|
||||
ENV 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"
|
||||
|
@ -40,12 +41,12 @@ ENV APP_ANONYMOUS_OVERFLOW=""
|
|||
ENV CURLOPT_PROXY_ENABLED=false
|
||||
ENV CURLOPT_PROXY=""
|
||||
ENV CURLOPT_RETURNTRANSFER=true
|
||||
ENV CURLOPT_ENCODING=""
|
||||
ENV CURLOPT_ENCODING="UTF-8"
|
||||
ENV 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"
|
||||
ENV CURLOPT_CUSTOMREQUEST="GET"
|
||||
ENV CURLOPT_MAXREDIRS=5
|
||||
ENV CURLOPT_TIMEOUT=18
|
||||
ENV CURLOPT_VERBOSE=false
|
||||
ENV CURLOPT_VERBOSE=true
|
||||
|
||||
# Install PHP-FPM using Alpine's package manager, apk
|
||||
# Configure PHP-FPM to listen on a Unix socket instead of a TCP port, which is more secure and efficient
|
||||
|
|
|
@ -10,7 +10,7 @@ source "docker/attributes.sh"
|
|||
if [ ! -d "/run/php7" ] || [ ! -S "/run/php7/php-fpm7.sock" ]; then
|
||||
mkdir "/run/php7"
|
||||
touch "/run/php7/php-fpm7.sock"
|
||||
chmod 0660 "/run/php7/php-fpm7.sock"
|
||||
chmod 660 "/run/php7/php-fpm7.sock"
|
||||
chown nginx:nginx "/run/php7/php-fpm7.sock"
|
||||
fi
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
RUN apk add nginx
|
||||
|
||||
# Forward request and error logs to docker log collector
|
||||
RUN ln -sf /dev/stdout /var/log/nginx/access.log &&\
|
||||
ln -sf /dev/stderr /var/log/nginx/error.log
|
||||
# RUN ln -sf /dev/stdout /var/log/nginx/access.log &&\
|
||||
# ln -sf /dev/stderr /var/log/nginx/error.log
|
||||
|
||||
# After executing the 'docker run' command, run the 'prepare.sh' script
|
||||
CMD [ "/bin/sh", "-c", "docker/server/prepare.sh" ]
|
||||
|
|
Loading…
Add table
Reference in a new issue