From 63438c232c18c5bb08692472d984545eeef9c7f3 Mon Sep 17 00:00:00 2001 From: kgnfth <73314940+kgnfth@users.noreply.github.com> Date: Fri, 4 Dec 2020 13:47:01 +0100 Subject: [PATCH] Added Searx (#309) * Added Searx * Fix Searx * A little fix --- public/v4/apps/searx.yml | 82 ++++++++++++++++++++++++++++++++++++++ public/v4/logos/searx.png | Bin 0 -> 21808 bytes 2 files changed, 82 insertions(+) create mode 100644 public/v4/apps/searx.yml create mode 100644 public/v4/logos/searx.png diff --git a/public/v4/apps/searx.yml b/public/v4/apps/searx.yml new file mode 100644 index 0000000..5f9bb68 --- /dev/null +++ b/public/v4/apps/searx.yml @@ -0,0 +1,82 @@ +captainVersion: 4 +services: + # SearX + $$cap_appname: + image: searx/searx:$$cap_searx_version + command: $$cap_SEARX_COMMAND + environment: + BIND_ADDRESS: 0.0.0.0:8080 + BASE_URL: https://$$cap_appname.$$cap_root_domain + MORTY_URL: https://$$cap_appname-morty.$$cap_root_domain + MORTY_KEY: $$cap_MORTY_KEY + caproverExtra: + containerHttpPort: '8080' + # Filtron + $$cap_appname-filtron: + volumes: + - $$cap_appname-filtron-data:/etc/filtron + ports: + - 4004:4004 + - 4005:4005 + restart: always + caproverExtra: + dockerfileLines: + - FROM dalf/filtron@$$cap_filtron_version + - ADD https://raw.githubusercontent.com/searx/searx-docker/master/rules.json /etc/filtron/rules.json + - USER root + - RUN chmod -R 755 /etc/filtron/ + - ENTRYPOINT ["/usr/local/filtron/filtron", "--rules", "/etc/filtron/rules.json", "--listen", "0.0.0.0:4004", "--api", "0.0.0.0:4005", "--target", "srv-captain--searx:8080"] + containerHttpPort: '3000' + # Morty + $$cap_appname-morty: + restart: always + environment: + MORTY_KEY: $$cap_MORTY_KEY + MORTY_ADDRESS: 0.0.0.0:3000 + caproverExtra: + containerHttpPort: '3000' + dockerfileLines: + - FROM dalf/morty@$$cap_morty_version + - CMD -timeout 6 -ipv6 + # Checker + $$cap_appname-checker: + restart: always + volumes: + - $$cap_appname-checker-data:/usr/local/searx-checker/html/data + caproverExtra: + notExposeAsWebApp: true + dockerfileLines: + - FROM searx/searx-checker@$$cap_checker_version + - CMD ["-cron", "-o", "html/data/status.json", "http://srv-captain--$$cap_appname:8080"] +caproverOneClickApp: + variables: + - id: $$cap_searx_version + label: Searx Version Tag + defaultValue: '0.17.0-281-219af243' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/searx/searx/tags/ + - id: $$cap_filtron_version + label: Filtron Docker Version Hash + defaultValue: 'sha256:5b55f79b06fdd58122a6d764eca09d2ec687c5af5b78969124e69714d6bb889b' + description: Starts with 'sha256:'. Find on https://hub.docker.com/r/dalf/filtron/tags/ + - id: $$cap_morty_version + label: Morty Docker Version Hash + defaultValue: 'sha256:cb930c25254337e7a3abaf6daab326c663a4cdf1cbf4ae040ff7f670493df7fd' + description: Starts with 'sha256:'. Find on https://hub.docker.com/r/dalf/morty/tags/ + - id: $$cap_checker_version + label: Searx-checker Docker Version Hash + defaultValue: 'sha256:8ebda54ed8854e1300a4670e2bba86a5d2f4ceeb5c39290e4cc20df22bf974be' + description: Starts with 'sha256:'. Find on https://hub.docker.com/r/searx/searx-checker/tags/ + - label: Morty Secret Key + description: use openssl rand -base64 33 + defaultValue: RemplaceWithARealKey! + id: $$cap_MORTY_KEY + instructions: + start: >- + Privacy-respecting, hackable metasearch engine. + end: >- + Aaaand you're done! 😄 + + Now enable HTTPS on Searx, Filtron & Morty. + displayName: Searx + description: Privacy-respecting, hackable metasearch engine. + documentation: Taken from https://github.com/searx/searx-docker diff --git a/public/v4/logos/searx.png b/public/v4/logos/searx.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ded80a0d660bc636462b807560e820d68b637c GIT binary patch literal 21808 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 F{{em