feat(SearXNG): Replace Dockerfile by volume
This commit is contained in:
parent
b1ec560038
commit
3d3ff1235a
@ -1,2 +1,4 @@
|
|||||||
BASE_URL=searx.
|
BASE_URL=searx.
|
||||||
EMAIL=
|
EMAIL=
|
||||||
|
|
||||||
|
SEARXNG_SECRET=
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
FROM docker.io/searxng/searxng:latest
|
|
||||||
COPY settings.yml /tmp/
|
|
||||||
COPY entrypoint.sh /usr/local/bin/
|
|
||||||
ENTRYPOINT ["entrypoint.sh"]
|
|
||||||
CMD ["/sbin/tini", "--", "/usr/local/searxng/dockerfiles/docker-entrypoint.sh"]
|
|
@ -19,11 +19,13 @@ services:
|
|||||||
- redis:/data/
|
- redis:/data/
|
||||||
|
|
||||||
searxng:
|
searxng:
|
||||||
build: .
|
image: docker.io/searxng/searxng:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- config:/etc/searxng/
|
- config:/etc/searxng/
|
||||||
|
- ./settings.yml:/etc/searxng/settings.yml
|
||||||
environment:
|
environment:
|
||||||
|
- SEARXNG_SECRET
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
networks:
|
networks:
|
||||||
- nginx
|
- nginx
|
||||||
|
@ -33,14 +33,10 @@ search:
|
|||||||
# use codes from 'languages.py'
|
# use codes from 'languages.py'
|
||||||
default_lang: "auto"
|
default_lang: "auto"
|
||||||
# Available languages
|
# Available languages
|
||||||
# languages:
|
languages:
|
||||||
# - all
|
- fr
|
||||||
# - en
|
- en
|
||||||
# - en-US
|
- all
|
||||||
# - de
|
|
||||||
# - it-IT
|
|
||||||
# - fr
|
|
||||||
# - fr-BE
|
|
||||||
# ban time in seconds after engine errors
|
# ban time in seconds after engine errors
|
||||||
ban_time_on_fail: 5
|
ban_time_on_fail: 5
|
||||||
# max ban time in seconds after engine errors
|
# max ban time in seconds after engine errors
|
||||||
@ -74,11 +70,12 @@ server:
|
|||||||
# by ${SEARXNG_URL}.
|
# by ${SEARXNG_URL}.
|
||||||
base_url: false # "http://example.com/location"
|
base_url: false # "http://example.com/location"
|
||||||
limiter: false # rate limit the number of request on the instance, block some bots
|
limiter: false # rate limit the number of request on the instance, block some bots
|
||||||
|
public_instance: true # enable features designed only for public instances
|
||||||
|
|
||||||
# If your instance owns a /etc/searxng/settings.yml file, then set the following
|
# If your instance owns a /etc/searxng/settings.yml file, then set the following
|
||||||
# values there.
|
# values there.
|
||||||
|
|
||||||
secret_key: "ultrasecretkey" # Is overwritten by ${SEARXNG_SECRET}
|
# secret_key: "ultrasecretkey" # Is overwritten by ${SEARXNG_SECRET}
|
||||||
# Proxying image results through searx
|
# Proxying image results through searx
|
||||||
image_proxy: false
|
image_proxy: false
|
||||||
# 1.0 and 1.1 are supported
|
# 1.0 and 1.1 are supported
|
||||||
@ -95,7 +92,7 @@ server:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
# URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}.
|
# URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}.
|
||||||
# https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url
|
# https://docs.searxng.org/admin/settings/settings_redis.html#settings-redis
|
||||||
url: false
|
url: false
|
||||||
|
|
||||||
ui:
|
ui:
|
||||||
@ -123,6 +120,11 @@ ui:
|
|||||||
theme_args:
|
theme_args:
|
||||||
# style of simple theme: auto, light, dark
|
# style of simple theme: auto, light, dark
|
||||||
simple_style: auto
|
simple_style: auto
|
||||||
|
# Perform search immediately if a category selected.
|
||||||
|
# Disable to select multiple categories at once and start the search manually.
|
||||||
|
search_on_category_select: true
|
||||||
|
# Hotkeys: default or vim
|
||||||
|
hotkeys: vim
|
||||||
|
|
||||||
# Lock arbitrary settings on the preferences page. To find the ID of the user
|
# Lock arbitrary settings on the preferences page. To find the ID of the user
|
||||||
# setting you want to lock, check the ID of the form on the page "preferences".
|
# setting you want to lock, check the ID of the form on the page "preferences".
|
||||||
@ -202,26 +204,25 @@ outgoing:
|
|||||||
|
|
||||||
# Comment or un-comment plugin to activate / deactivate by default.
|
# Comment or un-comment plugin to activate / deactivate by default.
|
||||||
#
|
#
|
||||||
# enabled_plugins:
|
enabled_plugins:
|
||||||
# # these plugins are enabled if nothing is configured ..
|
# these plugins are enabled if nothing is configured ..
|
||||||
# - 'Hash plugin'
|
- 'Hash plugin'
|
||||||
# - 'Search on category select'
|
- 'Self Information'
|
||||||
# - 'Self Information'
|
- 'Tracker URL remover'
|
||||||
# - 'Tracker URL remover'
|
- 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
||||||
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
|
||||||
# # these plugins are disabled if nothing is configured ..
|
# # these plugins are disabled if nothing is configured ..
|
||||||
# - 'Hostname replace' # see hostname_replace configuration below
|
- 'Hostname replace' # see hostname_replace configuration below
|
||||||
# - 'Open Access DOI rewrite'
|
# - 'Open Access DOI rewrite'
|
||||||
# - 'Vim-like hotkeys'
|
|
||||||
# - 'Tor check plugin'
|
# - 'Tor check plugin'
|
||||||
# # Read the docs before activate: auto-detection of the language could be
|
# # Read the docs before activate: auto-detection of the language could be
|
||||||
# # detrimental to users expectations / users can activate the plugin in the
|
# # detrimental to users expectations / users can activate the plugin in the
|
||||||
# # preferences if they want.
|
# # preferences if they want.
|
||||||
# - 'Autodetect search language'
|
- 'Autodetect search language'
|
||||||
|
|
||||||
# Configuration of the "Hostname replace" plugin:
|
# Configuration of the "Hostname replace" plugin:
|
||||||
#
|
#
|
||||||
# hostname_replace:
|
hostname_replace:
|
||||||
|
'(.*\.)?quora\.com': false
|
||||||
# '(.*\.)?youtube\.com$': 'invidious.example.com'
|
# '(.*\.)?youtube\.com$': 'invidious.example.com'
|
||||||
# '(.*\.)?youtu\.be$': 'invidious.example.com'
|
# '(.*\.)?youtu\.be$': 'invidious.example.com'
|
||||||
# '(.*\.)?youtube-noocookie\.com$': 'yotter.example.com'
|
# '(.*\.)?youtube-noocookie\.com$': 'yotter.example.com'
|
||||||
@ -283,7 +284,6 @@ categories_as_tabs:
|
|||||||
general:
|
general:
|
||||||
images:
|
images:
|
||||||
videos:
|
videos:
|
||||||
news:
|
|
||||||
map:
|
map:
|
||||||
|
|
||||||
engines:
|
engines:
|
||||||
@ -365,7 +365,10 @@ engines:
|
|||||||
- name: wikipedia
|
- name: wikipedia
|
||||||
engine: wikipedia
|
engine: wikipedia
|
||||||
shortcut: wp
|
shortcut: wp
|
||||||
|
# add "list" to the array to get results in the results list
|
||||||
|
display_type: ["infobox"]
|
||||||
base_url: 'https://{language}.wikipedia.org/'
|
base_url: 'https://{language}.wikipedia.org/'
|
||||||
|
categories: [general]
|
||||||
|
|
||||||
- name: bilibili
|
- name: bilibili
|
||||||
engine: bilibili
|
engine: bilibili
|
||||||
@ -440,6 +443,12 @@ engines:
|
|||||||
shortcut: opv
|
shortcut: opv
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
|
- name: chefkoch
|
||||||
|
engine: chefkoch
|
||||||
|
shortcut: chef
|
||||||
|
# to show premium or plus results too:
|
||||||
|
# skip_premium: false
|
||||||
|
|
||||||
# - name: core.ac.uk
|
# - name: core.ac.uk
|
||||||
# engine: core
|
# engine: core
|
||||||
# categories: science
|
# categories: science
|
||||||
@ -579,21 +588,36 @@ engines:
|
|||||||
shortcut: wd
|
shortcut: wd
|
||||||
timeout: 3.0
|
timeout: 3.0
|
||||||
weight: 2
|
weight: 2
|
||||||
|
# add "list" to the array to get results in the results list
|
||||||
|
display_type: ["infobox"]
|
||||||
tests: *tests_infobox
|
tests: *tests_infobox
|
||||||
|
categories: [general]
|
||||||
|
|
||||||
- name: duckduckgo
|
- name: duckduckgo
|
||||||
engine: duckduckgo
|
engine: duckduckgo
|
||||||
shortcut: ddg
|
shortcut: ddg
|
||||||
|
|
||||||
- name: duckduckgo images
|
- name: duckduckgo images
|
||||||
engine: duckduckgo_images
|
engine: duckduckgo_extra
|
||||||
|
categories: [images, web]
|
||||||
|
ddg_category: images
|
||||||
shortcut: ddi
|
shortcut: ddi
|
||||||
timeout: 3.0
|
|
||||||
|
- name: duckduckgo videos
|
||||||
|
engine: duckduckgo_extra
|
||||||
|
categories: [videos, web]
|
||||||
|
ddg_category: videos
|
||||||
|
shortcut: ddv
|
||||||
|
|
||||||
|
- name: duckduckgo news
|
||||||
|
engine: duckduckgo_extra
|
||||||
|
categories: [news, web]
|
||||||
|
ddg_category: news
|
||||||
|
shortcut: ddn
|
||||||
|
|
||||||
- name: duckduckgo weather
|
- name: duckduckgo weather
|
||||||
engine: duckduckgo_weather
|
engine: duckduckgo_weather
|
||||||
shortcut: ddw
|
shortcut: ddw
|
||||||
disabled: true
|
|
||||||
|
|
||||||
- name: apple maps
|
- name: apple maps
|
||||||
engine: apple_maps
|
engine: apple_maps
|
||||||
@ -642,7 +666,6 @@ engines:
|
|||||||
engine: www1x
|
engine: www1x
|
||||||
shortcut: 1x
|
shortcut: 1x
|
||||||
timeout: 3.0
|
timeout: 3.0
|
||||||
disabled: true
|
|
||||||
|
|
||||||
- name: fdroid
|
- name: fdroid
|
||||||
engine: fdroid
|
engine: fdroid
|
||||||
@ -786,6 +809,12 @@ engines:
|
|||||||
play_categ: movies
|
play_categ: movies
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
|
- name: material icons
|
||||||
|
engine: material_icons
|
||||||
|
categories: images
|
||||||
|
shortcut: mi
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: gpodder
|
- name: gpodder
|
||||||
engine: json_engine
|
engine: json_engine
|
||||||
shortcut: gpod
|
shortcut: gpod
|
||||||
@ -826,6 +855,11 @@ engines:
|
|||||||
require_api_key: false
|
require_api_key: false
|
||||||
results: HTML
|
results: HTML
|
||||||
|
|
||||||
|
- name: hackernews
|
||||||
|
engine: hackernews
|
||||||
|
shortcut: hn
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: hoogle
|
- name: hoogle
|
||||||
engine: xpath
|
engine: xpath
|
||||||
paging: true
|
paging: true
|
||||||
@ -851,6 +885,11 @@ engines:
|
|||||||
timeout: 6.0
|
timeout: 6.0
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
|
- name: imgur
|
||||||
|
engine: imgur
|
||||||
|
shortcut: img
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: ina
|
- name: ina
|
||||||
engine: ina
|
engine: ina
|
||||||
shortcut: in
|
shortcut: in
|
||||||
@ -882,9 +921,14 @@ engines:
|
|||||||
|
|
||||||
- name: kickass
|
- name: kickass
|
||||||
engine: kickass
|
engine: kickass
|
||||||
|
base_url:
|
||||||
|
- https://kickasstorrents.to
|
||||||
|
- https://kickasstorrents.cr
|
||||||
|
- https://kickasstorrent.cr
|
||||||
|
- https://kickass.sx
|
||||||
|
- https://kat.am
|
||||||
shortcut: kc
|
shortcut: kc
|
||||||
timeout: 4.0
|
timeout: 4.0
|
||||||
disabled: true
|
|
||||||
|
|
||||||
- name: lemmy communities
|
- name: lemmy communities
|
||||||
engine: lemmy
|
engine: lemmy
|
||||||
@ -983,6 +1027,25 @@ engines:
|
|||||||
require_api_key: false
|
require_api_key: false
|
||||||
results: HTML
|
results: HTML
|
||||||
|
|
||||||
|
- name: mastodon users
|
||||||
|
engine: mastodon
|
||||||
|
mastodon_type: accounts
|
||||||
|
base_url: https://mastodon.social
|
||||||
|
shortcut: mau
|
||||||
|
|
||||||
|
- name: mastodon hashtags
|
||||||
|
engine: mastodon
|
||||||
|
mastodon_type: hashtags
|
||||||
|
base_url: https://mastodon.social
|
||||||
|
shortcut: mah
|
||||||
|
|
||||||
|
# - name: matrixrooms
|
||||||
|
# engine: mrs
|
||||||
|
# # https://docs.searxng.org/dev/engines/online/mrs.html
|
||||||
|
# # base_url: https://mrs-api-host
|
||||||
|
# shortcut: mtrx
|
||||||
|
# disabled: true
|
||||||
|
|
||||||
- name: metacpan
|
- name: metacpan
|
||||||
engine: metacpan
|
engine: metacpan
|
||||||
shortcut: cpan
|
shortcut: cpan
|
||||||
@ -1165,6 +1228,10 @@ engines:
|
|||||||
engine: photon
|
engine: photon
|
||||||
shortcut: ph
|
shortcut: ph
|
||||||
|
|
||||||
|
- name: pinterest
|
||||||
|
engine: pinterest
|
||||||
|
shortcut: pin
|
||||||
|
|
||||||
- name: piped
|
- name: piped
|
||||||
engine: piped
|
engine: piped
|
||||||
shortcut: ppd
|
shortcut: ppd
|
||||||
@ -1252,7 +1319,7 @@ engines:
|
|||||||
results: HTML
|
results: HTML
|
||||||
|
|
||||||
- name: qwant
|
- name: qwant
|
||||||
qwant_categ: web-lite
|
qwant_categ: web
|
||||||
engine: qwant
|
engine: qwant
|
||||||
shortcut: qw
|
shortcut: qw
|
||||||
categories: [general, web]
|
categories: [general, web]
|
||||||
@ -1302,6 +1369,10 @@ engines:
|
|||||||
# categories: files
|
# categories: files
|
||||||
# disabled: true
|
# disabled: true
|
||||||
|
|
||||||
|
- name: radio browser
|
||||||
|
engine: radio_browser
|
||||||
|
shortcut: rb
|
||||||
|
|
||||||
- name: reddit
|
- name: reddit
|
||||||
engine: reddit
|
engine: reddit
|
||||||
shortcut: re
|
shortcut: re
|
||||||
@ -1344,6 +1415,11 @@ engines:
|
|||||||
api_site: 'askubuntu'
|
api_site: 'askubuntu'
|
||||||
categories: [it, q&a]
|
categories: [it, q&a]
|
||||||
|
|
||||||
|
- name: internetarchivescholar
|
||||||
|
engine: internet_archive_scholar
|
||||||
|
shortcut: ias
|
||||||
|
timeout: 5.0
|
||||||
|
|
||||||
- name: superuser
|
- name: superuser
|
||||||
engine: stackexchange
|
engine: stackexchange
|
||||||
shortcut: su
|
shortcut: su
|
||||||
@ -1442,12 +1518,16 @@ engines:
|
|||||||
|
|
||||||
- name: tagesschau
|
- name: tagesschau
|
||||||
engine: tagesschau
|
engine: tagesschau
|
||||||
|
# when set to false, display URLs from Tagesschau, and not the actual source
|
||||||
|
# (e.g. NDR, WDR, SWR, HR, ...)
|
||||||
|
use_source_url: true
|
||||||
shortcut: ts
|
shortcut: ts
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
- name: tmdb
|
- name: tmdb
|
||||||
engine: xpath
|
engine: xpath
|
||||||
paging: true
|
paging: true
|
||||||
|
categories: movies
|
||||||
search_url: https://www.themoviedb.org/search?page={pageno}&query={query}
|
search_url: https://www.themoviedb.org/search?page={pageno}&query={query}
|
||||||
results_xpath: //div[contains(@class,"movie") or contains(@class,"tv")]//div[contains(@class,"card")]
|
results_xpath: //div[contains(@class,"movie") or contains(@class,"tv")]//div[contains(@class,"card")]
|
||||||
url_xpath: .//div[contains(@class,"poster")]/a/@href
|
url_xpath: .//div[contains(@class,"poster")]/a/@href
|
||||||
@ -1489,11 +1569,6 @@ engines:
|
|||||||
# - 2000
|
# - 2000
|
||||||
# - 5000
|
# - 5000
|
||||||
|
|
||||||
- name: twitter
|
|
||||||
shortcut: tw
|
|
||||||
engine: twitter
|
|
||||||
disabled: true
|
|
||||||
|
|
||||||
# tmp suspended - too slow, too many errors
|
# tmp suspended - too slow, too many errors
|
||||||
# - name: urbandictionary
|
# - name: urbandictionary
|
||||||
# engine : xpath
|
# engine : xpath
|
||||||
@ -1614,6 +1689,7 @@ engines:
|
|||||||
categories: [general, wikimedia]
|
categories: [general, wikimedia]
|
||||||
base_url: "https://{language}.wikisource.org/"
|
base_url: "https://{language}.wikisource.org/"
|
||||||
search_type: text
|
search_type: text
|
||||||
|
disabled: true
|
||||||
about:
|
about:
|
||||||
website: https://www.wikisource.org/
|
website: https://www.wikisource.org/
|
||||||
wikidata_id: Q263
|
wikidata_id: Q263
|
||||||
@ -1813,16 +1889,27 @@ engines:
|
|||||||
shortcut: mvw
|
shortcut: mvw
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
# - name: yacy
|
- name: yacy
|
||||||
# engine: yacy
|
engine: yacy
|
||||||
# shortcut: ya
|
categories: general
|
||||||
# base_url: http://localhost:8090
|
search_type: text
|
||||||
# # required if you aren't using HTTPS for your local yacy instance'
|
base_url: https://yacy.searchlab.eu
|
||||||
|
shortcut: ya
|
||||||
|
disabled: true
|
||||||
|
# required if you aren't using HTTPS for your local yacy instance
|
||||||
|
# https://docs.searxng.org/dev/engines/online/yacy.html
|
||||||
# enable_http: true
|
# enable_http: true
|
||||||
# timeout: 3.0
|
# timeout: 3.0
|
||||||
# # Yacy search mode. 'global' or 'local'.
|
|
||||||
# search_mode: 'global'
|
# search_mode: 'global'
|
||||||
|
|
||||||
|
- name: yacy images
|
||||||
|
engine: yacy
|
||||||
|
categories: images
|
||||||
|
search_type: image
|
||||||
|
base_url: https://yacy.searchlab.eu
|
||||||
|
shortcut: yai
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: rumble
|
- name: rumble
|
||||||
engine: rumble
|
engine: rumble
|
||||||
shortcut: ru
|
shortcut: ru
|
||||||
@ -1893,6 +1980,28 @@ engines:
|
|||||||
timeout: 10.0
|
timeout: 10.0
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
|
- name: tootfinder
|
||||||
|
engine: json_engine
|
||||||
|
categories: ['social media']
|
||||||
|
paging: false
|
||||||
|
search_url: https://www.tootfinder.ch/rest/api/search/{query}
|
||||||
|
url_query: uri
|
||||||
|
title_query: card/title
|
||||||
|
content_query: content
|
||||||
|
thumbnail_query: card/image
|
||||||
|
shortcut: toot
|
||||||
|
about:
|
||||||
|
website: https://tootfinder.ch/
|
||||||
|
official_api_documentation: https://wiki.tootfinder.ch/index.php?name=the-tootfinder-rest-api
|
||||||
|
use_official_api: true
|
||||||
|
require_api_key: false
|
||||||
|
results: 'JSON'
|
||||||
|
|
||||||
|
- name: wallhaven
|
||||||
|
engine: wallhaven
|
||||||
|
# api_key: abcdefghijklmnopqrstuvwxyz
|
||||||
|
shortcut: wh
|
||||||
|
|
||||||
# wikimini: online encyclopedia for children
|
# wikimini: online encyclopedia for children
|
||||||
# The fulltext and title parameter is necessary for Wikimini because
|
# The fulltext and title parameter is necessary for Wikimini because
|
||||||
# sometimes it will not show the results and redirect instead
|
# sometimes it will not show the results and redirect instead
|
||||||
|
Loading…
Reference in New Issue
Block a user