A read only mirror of the original lollipop cloud sources. This repo was mirrored from the original home on GitLab (https://gitlab.com/kemonine/lolipop_lan_cloud/)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

searx.md 2.6KB


Self hosted metasearch. Prevent profiling by major search engines

Inspiration / Further Reading

Install / Update / Run Script

Setup a generic script that’ll auto update Searx, build a container and launch it. You should only run this script at first launch and/or when you’re looking for updates.

mkdir -p /var/searx
chown root:root /var/searx
mkdir -p /root/docker/searx
git clone https://github.com/asciimoo/searx.git /root/docker/searx/src

cat > /root/docker/searx/searx.sh << EOF

cd /root/docker/searx/src
git checkout Dockerfile
git fetch
LATESTTAG=\`git describe --abbrev=0 --tags\`
git checkout \$LATESTTAG


# Cleanup arch/container image here
if [ \$ARCH == "aarch64" ]
    echo "64bit arm"
    sed -i 's_alpine:3.5_arm64v8/alpine:3.5_g' Dockerfile
    echo "32bit arm"
    sed -i 's_alpine:3.5_arm32v6/alpine:3.5_g' Dockerfile

docker build \\
    --network docker-private \\
    --file ./Dockerfile \\
    --tag searx/searx:\$LATESTTAG \\

# Cleanup existing container
docker stop searx
docker rm searx

# Re-run/create container with latest image
docker run \\
    --name searx \\
    --restart unless-stopped \\
    --net docker-private \\
    --ip \\
    -e TZ=UTC \\
    -e DEBUG=1 \\
    -e BASE_URL=searx.domain.tld \\

chmod a+x /root/docker/searx/searx.sh

Run Searx

Simply execute /root/docker/searx/searx.sh to update/run Gogs.

Serving Via Caddy

cat > /etc/caddy/services/searx.conf <<EOF
# Searx proxy
searx:80, searx:443, searx.domain.tld:80, searx.domain.tld:443 {
    redir 301 {
        if {scheme} is http
        /  https://searx.domain.tld{uri}

    log /var/log/caddy/searx.log
    proxy / {

    # Use acme.sh Let's Encrypt SSL cert setup
    tls /var/acme.sh/domain.tld/fullchain.cer /var/acme.sh/domain.tld/domain.tld.key

Update Unbound

cat > /etc/unbound/local_zone/searx.conf <<EOF
local-data: "searx-insecure A"
local-data-ptr: " searx-insecure"
local-data: "searx-insecure.domain.tld A"
local-data-ptr: " searx-insecure.domain.tld"

local-data: "searx A"
local-data-ptr: " searx"
local-data: "searx.domain.tld A"
local-data-ptr: " searx.domain.tld"