mirror of
https://github.com/searxng/searxng.git
synced 2024-11-26 12:51:02 +00:00
daa4b676df
EOL of Ubuntu 16.04 (Xenial Xerus) is in April 2021 but we do not support 16.04 since a longer time. Issues are comming from dependencies (e.g. pip):: [searx-ubu1604] |searx| SyntaxError: invalid syntax [searx-ubu1604] |searx| Traceback (most recent call last): [searx-ubu1604] |searx| File "/usr/local/searx/searx-pyenv/bin/pip", line 7, in <module> [searx-ubu1604] |searx| from pip._internal.cli.main import main [searx-ubu1604] |searx| File "/usr/local/searx/searx-pyenv/lib/python3.5/site-packages/pip/_internal/cli/main.py", line 60 [searx-ubu1604] |searx| sys.stderr.write(f"ERROR: {exc}") [searx-ubu1604] |searx| ^ [searx-ubu1604] |searx| SyntaxError: invalid syntax Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
97 lines
3.1 KiB
Bash
97 lines
3.1 KiB
Bash
# -*- coding: utf-8; mode: sh indent-tabs-mode: nil -*-
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
# shellcheck shell=bash
|
|
|
|
# This file is a setup of a LXC suite. It is sourced from different context, do
|
|
# not manipulate the environment directly, implement functions and manipulate
|
|
# environment only is subshells!
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# config
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# shellcheck disable=SC2034
|
|
LXC_SUITE_NAME="searx"
|
|
lxc_set_suite_env() {
|
|
# name of https://images.linuxcontainers.org
|
|
export LINUXCONTAINERS_ORG_NAME="${LINUXCONTAINERS_ORG_NAME:-images}"
|
|
export LXC_HOST_PREFIX="${LXC_SUITE_NAME:-searx}"
|
|
export LXC_SUITE=(
|
|
|
|
# to disable containers, comment out lines ..
|
|
|
|
# end of standard support see https://wiki.ubuntu.com/Releases
|
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/18.04" "ubu1804" # April 2023
|
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/20.04" "ubu2004" # April 2025
|
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/20.10" "ubu2010" # July 2021
|
|
|
|
# EOL see https://fedoraproject.org/wiki/Releases
|
|
"$LINUXCONTAINERS_ORG_NAME:fedora/31" "fedora31"
|
|
|
|
# rolling releases see https://www.archlinux.org/releng/releases/
|
|
"$LINUXCONTAINERS_ORG_NAME:archlinux" "archlinux"
|
|
|
|
# EOL 30 June 2024
|
|
"$LINUXCONTAINERS_ORG_NAME:centos/7" "centos7"
|
|
)
|
|
|
|
PUBLIC_URL="${PUBLIC_URL:-http://$(uname -n)/searx}"
|
|
if in_container; then
|
|
# container hostnames do not have a DNS entry: use primary IP!
|
|
PUBLIC_URL="http://$(primary_ip)/searx"
|
|
|
|
# make GUEST's services public to the HOST
|
|
FILTRON_API="0.0.0.0:4005"
|
|
FILTRON_LISTEN="0.0.0.0:4004"
|
|
MORTY_LISTEN="0.0.0.0:3000"
|
|
|
|
# export LXC specific environment
|
|
export PUBLIC_URL FILTRON_API FILTRON_LISTEN MORTY_LISTEN
|
|
fi
|
|
}
|
|
|
|
lxc_suite_install_info() {
|
|
(
|
|
lxc_set_suite_env
|
|
cat <<EOF
|
|
LXC suite: ${LXC_SUITE_NAME} --> ${PUBLIC_URL}
|
|
suite includes searx, morty & filtron
|
|
suite images:
|
|
$(echo " ${LOCAL_IMAGES[*]}" | $FMT)
|
|
suite containers:
|
|
$(echo " ${CONTAINERS[*]}" | $FMT)
|
|
EOF
|
|
)
|
|
}
|
|
|
|
lxc_suite_install() {
|
|
(
|
|
lxc_set_suite_env
|
|
FORCE_TIMEOUT=0
|
|
export FORCE_TIMEOUT
|
|
"${LXC_REPO_ROOT}/utils/searx.sh" install all
|
|
"${LXC_REPO_ROOT}/utils/morty.sh" install all
|
|
"${LXC_REPO_ROOT}/utils/filtron.sh" install all
|
|
|
|
rst_title "suite installation finished ($(hostname))" part
|
|
lxc_suite_info
|
|
echo
|
|
)
|
|
}
|
|
|
|
lxc_suite_info() {
|
|
(
|
|
lxc_set_suite_env
|
|
for ip in $(global_IPs) ; do
|
|
if [[ $ip =~ .*:.* ]]; then
|
|
info_msg "(${ip%|*}) IPv6: http://[${ip#*|}]"
|
|
else
|
|
# IPv4:
|
|
# shellcheck disable=SC2034,SC2031
|
|
info_msg "(${ip%|*}) filtron: http://${ip#*|}:4004/ $PUBLIC_URL"
|
|
info_msg "(${ip%|*}) morty: http://${ip#*|}:3000/ $PUBLIC_URL_MORTY"
|
|
info_msg "(${ip%|*}) docs-live: http://${ip#*|}:8080/"
|
|
fi
|
|
done
|
|
)
|
|
}
|