summaryrefslogtreecommitdiff
path: root/utils/lxc.sh
AgeCommit message (Collapse)Author
2024-11-24[chore] *: fix typos detected by typos-cliBnyro
2024-10-10[mod] use quad9 dns for connectivity checks when lxcAllen
https://www.quad9.net/about/ https://bgp.tools/as/42#whois
2024-09-19[fix] scripts: elimination of limitations on dedicated distributionsMarkus Heiser
The restriction of shell scripts to certain distributions is only required for certain actions such as the installation of a SearXNG instance. The maintenance scripts and build processes were previously also restricted to these specific distributions. With this patch, the build processes (such as the build of online documentation) can now also be executed on all Linux distributions. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-01-09[mod] get rid of ./utils/brand.env and its workflowMarkus Heiser
All the environments defined in ./utils/brand.env are generated on the fly, so there is no longer a need to define the brand environment in this file and all the workflows to handle this file. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-02-01[LXC] ubuntu 21.10 upgrade to ubuntu 22.04 LTS [1]Markus Heiser
[1] https://wiki.ubuntu.com/Releases Tested by:: # build the container .. $ sudo -H ./utils/lxc.sh build searxng-ubu2204 # install a complete SearXNG suite .. $ sudo -H ./utils/lxc.sh cmd searxng-ubu2204 FORCE_TIMEOUT=0 ./utils/searxng.sh install all # install nginx to export the SearXNG instance by HTTP $ sudo -H ./utils/lxc.sh cmd searxng-ubu2204 FORCE_TIMEOUT=0 ./utils/searxng.sh install nginx # check instance $ sudo -H ./utils/lxc.sh cmd searxng-ubu2204 FORCE_TIMEOUT=0 ./utils/searxng.sh instance check INFO: [searxng-ubu2204] FORCE_TIMEOUT=0 ./utils/searxng.sh instance check INFO: wrapper: utils/searxng.sh instance _call searxng.check SearXNG checks -------------- ... INFO searx : merge the default settings ( /usr/local/searxng/searxng-src/searx/settings.yml ) and the user settings ( /etc/searxng/settings.yml ) INFO searx : max_request_timeout=None INFO searx.redisdb : connecting to Redis db=0 path='/usr/local/searxng-redis/run/redis.sock' INFO searx.redisdb : connected to Redis Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-27[fix] typos / reported by @kianmeng in searx PR-3366Markus Heiser
[PR-3366] https://github.com/searx/searx/pull/3366 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-30[clean up] drop obsolete searx, filtron and morty install scriptsMarkus Heiser
Since ./utils/searxng.sh is implemented, the old installation procedures from filtron, morty and searx can be removed. For users who want to upgrade, the procedures for removing old installations have still been retained. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-07-30[utils/searxng.sh] implement new script to install SearXNGMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-12[LXC] ubuntu 20.10 EOL, upgrade to ubunut 21.10 [1]Markus Heiser
[1] https://wiki.ubuntu.com/Releases Tested by:: # build the container .. $ sudo -H ./utils/lxc.sh build searx-ubu2110 # open a shell in the container $ sudo -H ./utils/lxc.sh cmd searx-ubu2110 bash [root@searx-ubu2110 SearXNG]# # install a complete SearXNG suite .. [root@searx-ubu2110 SearXNG]# ./utils/searx.sh install all ... # install apache to export the SearXNG instance by HTTP [root@searx-ubu2110 SearXNG]# ./utils/searx.sh apache install ... INFO: got 200 from http://10.174.184.94/searx Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-12[LXC] fedora33 EOL [1], upgrade to fedora35 [2]Markus Heiser
[1] https://docs.fedoraproject.org/en-US/releases/eol/ [2] https://docs.fedoraproject.org/en-US/releases/f35/ Tested by:: # build the container .. $ sudo -H ./utils/lxc.sh build searx-fedora35 # open a shell in the container $ sudo -H ./utils/lxc.sh cmd searx-fedora35 bash [root@searx-fedora35 SearXNG]# # install a complete SearXNG suite .. [root@searx-fedora35 SearXNG]# ./utils/searx.sh install all ... # install apache to export the SearXNG instance by HTTP [root@searx-fedora35 SearXNG]# ./utils/searx.sh apache install ... INFO: got 200 from http://10.174.184.94/searx To build wheel `python3-devel` needs to be added to SEARX_PACKAGES_fedora:: |searx| × Building wheel for setproctitle (pyproject.toml) did not run successfully. |searx| │ exit code: 1 ... |searx| In file included from src/spt.h:15, |searx| from src/setproctitle.c:14: |searx| src/spt_python.h:16:10: fatal error: Python.h: No such file or directory |searx| 16 | #include <Python.h> |searx| | ^~~~~~~~~~ |searx| compilation terminated. |searx| error: command '/usr/bin/gcc' failed with exit code 1 |searx| [end of output] ... |searx| ERROR: Failed building wheel for setproctitle Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-01-02reference docs.searxng.orgAlexandre Flament
2021-07-24[mod] reduce enviroment variables in shell scripts to what is neededMarkus Heiser
Not all settings from the 'brand:' section of the YAML files are needed in the shell scripts. This patch reduce the variables in ./utils/brand.env to what is needed. The following ('brand:' settings) can be removed from this file: - ISSUE_URL - DOCS_URL - PUBLIC_INSTANCES - WIKI_URL Tasks running outside of an *installed instance*, need the following settings from the YAML configuration: - GIT_URL <--> brand.git_url - GIT_BRANCH <--> brand.git_branch - SEARX_URL <--> server.base_url (aka PUBLIC_URL) - SEARX_PORT <--> server.port - SEARX_BIND_ADDRESS <--> server.bind_address Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-03[fix] pacman --noprogressbar in shell scriptsMarkus Heiser
From pacman's man page: --noprogressbar Do not show a progress bar when downloading files. This can be useful for scripts that call pacman and capture the output. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-23[mod] utils/lxc.sh: detect conflict of docker & LXC in the iptablesMarkus Heiser
Docker is blocking network of existing LXC containers / there is a conflict in the iptables setup of Docker & LXC. With this patch: - utils/lxc.sh checks internet connectivity (instead of silently hang) - Chapter "Internet Connectivity & Docker" describes the problem and made a suggestion for a solution a solution Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-23[fix] do not spit out error messages for utils/lxc.sh --helpMarkus Heiser
Error:: $ utils/lxc.sh --help ERROR: missing command lxc ... This breaks also docs build:: $ make docs ... WARNING: Unexpected return code 42 from command '../utils/lxc.sh --help' ... Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-03-05[mod] LXC switch to Fedora 33 / Fedora 31 reached its EOLMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-03-04Merge pull request #2623 from return42/fix-centos7Alexandre Flament
[fix] add package `which` to CentOS-7 boilerplate
2021-03-03[fix] add package 'which' to CentOS-7 boilerplateMarkus Heiser
Newer CentOS-7 images from https://images.linuxcontainers.org do no longer include the which command. Issue: $ sudo -H ./utils/lxc.sh cmd searx-centos7 ./utils/filtron.sh install all INFO: [searx-centos7] ./utils/filtron.sh install all ... Install Go in user's HOME ------------------------- download and install go binary .. ... -bash: line 1: which: command not found -->|ERROR - Go Installation not found in PATH!?! -bash: line 2: which: command not found Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-03-03[mod] Drop Ubuntu 16.04 (Xenial Xerus) supportMarkus Heiser
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>
2021-01-24[fix] lxc.sh - SC2034: ubu2010_boilerplate appears unused.Markus Heiser
$ make test.sh In utils/lxc.sh line 42: ubu2010_boilerplate="$ubu1904_boilerplate" ^-----------------^ SC2034: ubu2010_boilerplate appears unused. Verify use (or export if used externally). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-01-02[mod] add Ubuntu 20.10 image to the LXC suiteMarkus Heiser
Ubuntu 20.10 image [1] is avialable from https://images.linuxcontainers.org BTW: replace builhost package 'ttf-dejavu' by more common meta package 'fonts-dejavu' ('ttf-dejavu' is no longer available in 20.10). [1] https://github.com/lxc/lxc-ci/commit/d161de601bffe4055d77b9d52a826ce5d81567d9 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-01-02[fix] remove Ubuntu 19.10 from the LXC suite (EOL)Markus Heiser
Official support for Ubuntu 19.10 'Eoan Ermine' ended on July 17, 2020. The image has been dropped [1] from https://images.linuxcontainers.org [1] https://github.com/lxc/lxc-ci/commit/d161de601bffe4055d77b9d52a826ce5d81567d9 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-18[fix] determine path to makefile.lxc in a LXCMarkus Heiser
The path to the makefile.lxc is not always static and '/share/searx/utils/makefile.lxc' can be wrong. When target 'lxc.activate' is called within the LXC container the path to makefile.lxc depends on LXC_SHARE_FOLDER and the basename of the folder where searx was cloned inital on the HOST system. This patch determines the path of 'makefile.lxc' next to 'makefile.include' itself. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-08-08[enh] add centos-7 to LXC images (#2118)Markus Heiser
## What does this PR do? To test centos-7 on non centos systems add centos-7 image to the LXC suite. ## Why is this change important? PR #2112 adds centos-7 support to the install scripts ## How to test this PR locally? `sudo ./utils/lxc.sh build searx-centos7`
2020-08-01Utility scripts adapted to run on CentOS 7 (#2112)Eliesemoule
2020-05-04archlinux: add package 'inetutils' to boilerplateMarkus Heiser
Even it is a core component, some hoster do not have pre installed the 'inetutils' package. We do need this package for the 'hostname' command. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-13tooling box: added nginx + polished bash scripts and environmentMarkus Heiser
- add installation method for nginx sites, morty and filtron - clean up PUBLIC_URL environment in and outside of containers - clean up comand lines - handle uWSGI quirks on fedora (emperor mode) - handle Python quirks on debian (there is no 'python' command anymore) - lib.sh: add die and die_caller functions - lxc_suite_install_info is now a function - lint: shellcheck Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-11nginx: normalize installation (docs and script)s over all distrosMarkus Heiser
This is the revision of the documentation about the varous nginx installation variants. It also implements the nginx installation scripts for morty and filtron. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-08Changes from the installation tests on (all) LXC containers.Markus Heiser
Tested and fixed HTTP & uWSGI installation on: ubu1604 ubu1804 ubu1910 ubu2004 fedora31 archlinux Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-07apache: normalize installation (docs and script)s over all distrosMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-05[fix] creation of /.lxcenv in containersMarkus Heiser
In utils/lib.sh there are two functions with the same name, but different tasks. Rename one of them from lxc_init_container() into lxc_init_container_env(). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-04utils/lxc.sh install: support installation on selected containersMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-03utils/lxc.sh: support build of selected containersMarkus Heiser
$ sudo -H ./utils/lxc.sh build <name> $ sudo -H ./utils/lxc.sh show [images|suite|info|config [<name>]] Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-31docs: use make and uitls/searx.sh in containersMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-30docs: add utils/lxc.sh docs, normalize filtron, morty & searx docsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-30[fix] make test.sh: fix various shellcheck error messagesMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-18./utils/lxc.sh: add command 'install base'Markus Heiser
to install basic packages like git and *build essentials*:: $ ./utils/lxc.sh install base Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-18LXC: add /.lxcenvMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-15LXC: utils/makefile.lxc (inital) add /.lxcenv.mk to contaiinersMarkus Heiser
Get LXC environment when building make targets. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-09searx.sh: add buildhost cmd, installs OS packages for buildsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-08LXC: fixed raw.idmap & removed obsolete uid/gid subordinateMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-08LXC: from searx.sh, morty.sh and filtron.sh testsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-07LXC: separate lxc-suite from lxc & improved command line.Markus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-04docs: describe uwsgi setup of all suported distributionsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-02LXC: add ubuntu 19.10 and 20.04 to the list of test imagesMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-02docs: generic documentation from the installation scriptsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-01utils/lxc.env: separate environment that is used in containersMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-27LXC: improved UX when working with a bunch of containersMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-26LXC: install searx-suite installs searx, filtron & morty on all containersMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-25utils/lib.sh: make uWSGI installation available for all distrosMarkus Heiser
support: ubuntu, debin, fedora, archlinux Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>