Markus Heiser
036933599b
[enh] utils/lib.sh - commands pyenv, pyenv.drop pyenv.(un)install
...
Implement a boilerplate to manage performance optimized virtualenv builds.
Shell scripts can use (e.g.) 'pyenv.cmd' to execute command in the virtualenv
without having to worry about whether and how the environment is provided. ::
pyenv.cmd which python
..../local/py3/bin/python
pyenv.cmd which pip
..../local/py3/bin/pip
If pyenv.cmd released multiple times the installation will only rebuild if the
function 'pyenv.OK' fails. Function 'pyenv.OK' make some test to validate that
the virtualenv exists and works as expected. The check also fails if
requirements listed requirements-dev.txt and requirements.txt has been edited.
Among these tests 'pyenv.OK' calls 'pyenv.check' which implements a python
script that validate the python installation. Here is an example how a
'pyenv.check' implementation could look like::
pyenv.check() {
cat <<EOF
import yaml
print('import yaml --> OK')
EOF
}
Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-23 11:14:29 +02:00
Markus Heiser
c7d92d6475
[fix] remove Ubuntu 19.10 from the LXC suite (EOL)
...
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] d161de601b
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-01-02 17:23:18 +01:00
Markus Heiser
d175a0fb7b
[mod] LXC_ENV_FOLDER moved from ./lxc to ./lxc-env
...
BTW:
- add target $(LXC_ENV_FOLDER)
- fix indentations
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-26 11:43:18 +01:00
Markus Heiser
bc7bd1d80a
[fix] utils/lib.sh: various typos in messages and comments
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-26 11:38:47 +01:00
Markus Heiser
be08e5bfab
[fix] yum installation of 'Development Tools'
...
'yum install' does not support '@development-tools' notation for group
installation.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-18 22:32:05 +01:00
Markus Heiser
1a4524e03c
[mod] remove obsolete virtualenv command
...
Installation and use of the command 'virtualenv' was only needed in py2 and py2
is no longer suported by searx. In py3 the command is replaced by 'python -m
venv'.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-12-18 22:31:13 +01:00
Alexandre Flament
f204e4903d
[fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs
2020-09-28 16:44:14 +02:00
Eliesemoule
1986b5ecac
Utility scripts adapted to run on CentOS 7 ( #2112 )
2020-08-01 22:12:44 +02:00
Markus Heiser
d21e0b0ef8
[fix] old images need an initial 'apt update'
...
see https://github.com/asciimoo/searx/pull/1803#issuecomment-616684353
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-22 01:11:25 +02:00
Markus Heiser
99ff16c465
tooling box: added nginx + polished bash scripts and environment
...
- 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-13 11:34:28 +02:00
Markus Heiser
58d5da8b57
nginx: normalize installation (docs and script)s over all distros
...
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-11 13:19:11 +02:00
Markus Heiser
67afa6b1fb
bash scripts: source code cleaned up (shellcheck)
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-10 14:00:52 +02:00
Markus Heiser
f693149cde
Changes from the installation tests on (all) LXC containers.
...
Tested and fixed HTTP & uWSGI installation on:
ubu1604 ubu1804 ubu1910 ubu2004 fedora31 archlinux
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-08 18:38:36 +02:00
Markus Heiser
ee39a098ac
apache: normalize installation (docs and script)s over all distros
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-07 18:31:51 +02:00
Markus Heiser
eb0d4646d8
docs: rework of chapter "Install with apache"
...
BTW: normalize installation-nginx.rst
2020-04-06 17:59:06 +02:00
Markus Heiser
c2caf9569c
[fix] creation of /.lxcenv in containers
...
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-05 15:15:28 +02:00
Markus Heiser
e530e20ae6
misc: fix variuous marginals
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-04 17:53:16 +02:00
Markus Heiser
af988dbf71
utils/lxc.sh: support build of selected containers
...
$ 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-04-03 17:08:42 +02:00
Markus Heiser
f32b4fcedd
LXC: add virtualenv to LXC_BASE_PACKAGES
...
Commit 09a40625
adds virtualenv dependency. BTW remove deprecated
--no-site-packages. Not having access to global site-packages is now the
default behavior.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-04-02 20:27:44 +02:00
Markus Heiser
3e4d022d04
[fix] make test.sh: fix various shellcheck error messages
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-30 11:03:46 +02:00
Markus Heiser
1fcec0bbda
lxc.sh install base: add bash and python3 to LXC_BASE_PACKAGES
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-23 18:06:35 +01:00
Markus Heiser
baf1ffd1fa
LXC: set LXC_ENV_FOLDER=lxc/$(shell hostname)/
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-23 18:05:46 +01:00
Markus Heiser
62da769952
./utils/lxc.sh: add command 'install base'
...
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-18 17:47:48 +01:00
Markus Heiser
d2cfe9ce5b
LXC: add /.lxcenv
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-18 15:34:46 +01:00
Markus Heiser
f5f83b8a99
shellcheck: minor fixes to support all dsitros
...
checked with::
sudo ./utils/lxc.sh cmd -- make test.sh
on ubu1804, ubu1910, fedora31 and archlinux. All checks OK except:
ubu1604: uses shellcheck v0.3.7 (from 04/2015) which is no longer supported!
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-08 18:37:16 +01:00
Markus Heiser
b1e90cff23
LXC: separate lxc-suite from lxc & improved command line.
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-07 20:24:08 +01:00
Markus Heiser
387c6a7769
docs: improve description of uwsgi & ngingx setup
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-06 14:47:00 +01:00
Markus Heiser
3cb7daedb7
docs: generic doocumentation for searx-uwsgi
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-03 19:57:15 +01:00
Markus Heiser
c3e4753ce9
docs: generic documentation from the installation scripts
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-03-02 19:00:19 +01:00
Markus Heiser
37c135f2ce
LXC: improved UX when working with a bunch of containers
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-27 19:13:03 +01:00
Markus Heiser
af6acd3417
LXC: install searx-suite installs searx, filtron & morty on all containers
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-26 19:07:55 +01:00
Markus Heiser
d5917cc029
utils/lib.sh: make uWSGI installation available for all distros
...
support: ubuntu, debin, fedora, archlinux
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-25 20:20:17 +01:00
Markus Heiser
f17b28743a
utils/serx.sh: make uWSGI installation available for all distros (WIP)
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 21:05:22 +01:00
Markus Heiser
5fb6d4f508
LXC: normalize package installation & user creation.
...
utils/lib.sh:
- get DIST_ID & DIST_VERSION from /etc/os-release
- pkg_[install|remove|...] supports ubuntu, debian, archlinux & fedora
utils/lxc.sh
- Workaround for the "setrlimit(RLIMIT_CORE): Operation not permitted" error::
'Set disable_coredump false' >> /etc/sudo.conf
utils/[searx.sh|filtron.sh|morty.sh]
- switched user creation from 'adduser' perl script to 'useradd' built-in
command
utils/searx.sh
- install packages for ubuntu, debian, archlinux & fedora
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-23 12:10:45 +01:00
Markus Heiser
0bfc61dbe9
tooling box: misc fixes from lxc tests
...
Tested by:
sudo -H ./utils/lxc.sh build containers
sudo -H ./utils/lxc.sh cmd /share/searx/utils/searx.sh install all
sudo -H ./utils/lxc.sh cmd /share/searx/utils/filtron.sh install all
sudo -H ./utils/lxc.sh cmd /share/searx/utils/morty.sh install all
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-16 22:29:06 +01:00
Markus Heiser
ad32739860
shellcheck: fix usse -n instead of ! -z (SC2236 SC2237)
...
- https://www.shellcheck.net/wiki/SC2236 -- Use -n instead of ! -z.
- https://www.shellcheck.net/wiki/SC2237 -- Use [ -n .. ] instead of ! [ -z ....
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-16 20:07:37 +01:00
Markus Heiser
e6bf2038c3
filtron.sh: add 'install rules' command
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-11 15:58:35 +01:00
Markus Heiser
71d7550dbe
tooling box ./utils/*: minor fix from production test
2020-02-04 19:47:33 +01:00
Markus Heiser
79e1f837ef
utils & Makefile: add .config.mk & .config.sh for searx brands
...
By isolating the environment of makefiles and bash scripts into .config.mk and
.config.sh it is simple to maintain searx brands by setting some central
environments.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-04 10:39:42 +01:00
Markus Heiser
94ac560dcc
doc: add descriptions of our tooling box in ./utils
...
Initial started with the scripts for searx, filtron and morty installations.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-03 13:25:51 +01:00
Markus Heiser
a4437c47ac
utils/morty.sh: add script to install morty result proxy
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-02 18:14:10 +01:00
Markus Heiser
709ac51d33
utils/filtron.sh: generalize systemd, accounts and golang tasks
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-02-01 16:59:27 +01:00
Markus Heiser
56a93ee770
utils/lib.sh: colorize messages
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-31 18:24:31 +01:00
Markus Heiser
cd9b877c8c
utils/searx.sh & filtron.sh: misc changes from first tests (WIP)
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-31 15:53:53 +01:00
Markus Heiser
6274a54746
utils/searx.sh & filtron.sh: misc changes from first tests (WIP)
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-30 19:55:51 +01:00
Markus Heiser
924bf65517
utils/searx.sh & filtron.sh: misc changes from first tests (WIP)
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-29 20:00:50 +01:00
Markus Heiser
971a8264b2
utils/searx.sh: add apache site searx.conf:uwsgi (WIP)
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-27 19:08:40 +01:00
Markus Heiser
d171fcd56e
utils/searx.sh: add apache site searx.conf:uwsgi
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-21 18:38:57 +01:00
Markus Heiser
af2f58fc58
utils/filtron.sh: add script to install filtron middleware (apache)
...
Preparation for the installation of an apache site.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-20 19:08:56 +01:00
Markus Heiser
9b5a7f7559
utils/searx.sh: add script to install isolated searx service
...
First version which serves searx over uwsgi at http://127.0.0.1:8888
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-01-20 16:55:05 +01:00