mirror of
https://github.com/searxng/searxng
synced 2024-01-01 18:24:07 +00:00
63 lines
2.2 KiB
Bash
63 lines
2.2 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
|
||
|
# ----------------------------------------------------------------------------
|
||
|
|
||
|
lxc_set_suite_env() {
|
||
|
# name of https://images.linuxcontainers.org
|
||
|
export LINUXCONTAINERS_ORG_NAME="${LINUXCONTAINERS_ORG_NAME:-images}"
|
||
|
export LXC_HOST_PREFIX="${LXC_HOST_PREFIX:-searx}"
|
||
|
export LXC_SUITE=(
|
||
|
# end of standard support see https://wiki.ubuntu.com/Releases
|
||
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/16.04" "ubu1604" # April 2021
|
||
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/18.04" "ubu1804" # April 2023
|
||
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/19.10" "ubu1910" # July 2020
|
||
|
"$LINUXCONTAINERS_ORG_NAME:ubuntu/20.04" "ubu2004" # future (EOL 2030)
|
||
|
|
||
|
# 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"
|
||
|
)
|
||
|
export FILTRON_API="0.0.0.0:4005"
|
||
|
export FILTRON_LISTEN="0.0.0.0:4004"
|
||
|
export MORTY_LISTEN="0.0.0.0:3000"
|
||
|
}
|
||
|
|
||
|
lxc_suite_install() {
|
||
|
(
|
||
|
lxc_set_suite_env
|
||
|
export FORCE_TIMEOUT=0
|
||
|
"${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:
|
||
|
info_msg "(${ip%|*}) filtron: http://${ip#*|}:4004/"
|
||
|
info_msg "(${ip%|*}) morty: http://${ip#*|}:3000/"
|
||
|
fi
|
||
|
done
|
||
|
)
|
||
|
}
|