searx.rst 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. .. template evaluated by: ./utils/searx.sh docs
  2. .. hint: all dollar-names are variables, dollar sign itself is quoted by: \\$
  3. .. START distro-packages
  4. .. tabs::
  5. .. group-tab:: Ubuntu / debian
  6. .. code-block:: sh
  7. $ sudo -H apt-get install -y \\
  8. ${debian}
  9. .. group-tab:: Arch Linux
  10. .. code-block:: sh
  11. $ sudo -H pacman -S --noconfirm \\
  12. ${arch}
  13. .. group-tab:: Fedora / RHEL
  14. .. code-block:: sh
  15. $ sudo -H dnf install -y \\
  16. ${fedora}
  17. .. END distro-packages
  18. .. START create user
  19. .. tabs::
  20. .. group-tab:: bash
  21. .. code-block:: sh
  22. $ sudo -H useradd --shell /bin/bash --system \\
  23. --home-dir "$SERVICE_HOME" \\
  24. --comment "Privacy-respecting metasearch engine" $SERVICE_USER
  25. $ sudo -H mkdir "$SERVICE_HOME"
  26. $ sudo -H chown -R "$SERVICE_GROUP:$SERVICE_GROUP" "$SERVICE_HOME"
  27. .. END create user
  28. .. START clone searx
  29. .. tabs::
  30. .. group-tab:: bash
  31. .. code-block:: sh
  32. $ sudo -H -u ${SERVICE_USER} -i
  33. (${SERVICE_USER})$ git clone "https://github.com/asciimoo/searx.git" "$SEARX_SRC"
  34. .. END clone searx
  35. .. START create virtualenv
  36. .. tabs::
  37. .. group-tab:: bash
  38. .. code-block:: sh
  39. (${SERVICE_USER})$ python3 -m venv "${SEARX_PYENV}"
  40. (${SERVICE_USER})$ echo ". ${SEARX_PYENV}/bin/activate" >> "$SERVICE_HOME/.profile"
  41. .. END create virtualenv
  42. .. START manage.sh update_packages
  43. .. tabs::
  44. .. group-tab:: bash
  45. .. code-block:: sh
  46. $ sudo -H -u ${SERVICE_USER} -i
  47. (${SERVICE_USER})$ command -v python && python --version
  48. $SEARX_PYENV/bin/python
  49. Python 3.8.1
  50. (${SERVICE_USER})$ cd "$SEARX_SRC"
  51. (${SERVICE_USER})$ ./manage.sh update_packages
  52. .. END manage.sh update_packages
  53. .. START searx config
  54. .. tabs::
  55. .. group-tab:: bash
  56. .. code-block:: sh
  57. $ sudo -H cp "$SEARX_SRC/searx/settings.yml" "${SEARX_SETTINGS_PATH}"
  58. $ sudo -H sed -i -e "s/ultrasecretkey/\\$(openssl rand -hex 16)/g" "$SEARX_SETTINGS_PATH"
  59. $ sudo -H sed -i -e "s/{instance_name}/searx@\\$(uname -n)/g" "$SEARX_SETTINGS_PATH"
  60. .. END searx config
  61. .. START check searx installation
  62. .. tabs::
  63. .. group-tab:: bash
  64. .. code-block:: sh
  65. # enable debug ..
  66. $ sudo -H sed -i -e "s/debug : False/debug : True/g" "$SEARX_SETTINGS_PATH"
  67. # start webapp
  68. $ sudo -H -u ${SERVICE_USER} -i
  69. (${SERVICE_USER})$ cd ${SEARX_SRC}
  70. (${SERVICE_USER})$ export SEARX_SETTINGS_PATH="${SEARX_SETTINGS_PATH}"
  71. (${SERVICE_USER})$ python searx/webapp.py
  72. # disable debug
  73. $ sudo -H sed -i -e "s/debug : True/debug : False/g" "$SEARX_SETTINGS_PATH"
  74. Open WEB browser and visit http://$SEARX_INTERNAL_URL . If you are inside a
  75. container or in a script, test with curl:
  76. .. tabs::
  77. .. group-tab:: WEB browser
  78. .. code-block:: sh
  79. $ xgd-open http://$SEARX_INTERNAL_URL
  80. .. group-tab:: curl
  81. .. code-block:: none
  82. $ curl --location --verbose --head --insecure $SEARX_INTERNAL_URL
  83. * Trying 127.0.0.1:8888...
  84. * TCP_NODELAY set
  85. * Connected to 127.0.0.1 (127.0.0.1) port 8888 (#0)
  86. > HEAD / HTTP/1.1
  87. > Host: 127.0.0.1:8888
  88. > User-Agent: curl/7.68.0
  89. > Accept: */*
  90. >
  91. * Mark bundle as not supporting multiuse
  92. * HTTP 1.0, assume close after body
  93. < HTTP/1.0 200 OK
  94. HTTP/1.0 200 OK
  95. ...
  96. .. END check searx installation