| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- # -*- 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/21.10"  "ubu2110" # July 2027
 
-         # EOL see https://fedoraproject.org/wiki/Releases
 
-         "$LINUXCONTAINERS_ORG_NAME:fedora/35"     "fedora35"
 
-         # 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
 
-     )
 
- }
 
 
  |