Compare commits

...

3 commits

Author SHA1 Message Date
Sky Splash
26229fae45 Merge remote-tracking branch 'refs/remotes/upstream/master'
# Conflicts:
#	docker-compose.yaml
2024-05-30 09:37:13 +02:00
Émilien (perso)
8546bf599b
Add automatic restart of the services
close https://github.com/searxng/searxng-docker/pull/106
2024-05-13 15:43:18 +02:00
Ivan Gabaldon
a0e711191e
Replace Redis with Valkey + reduce logging for containers caddy and redis (#230)
* replace redis w/valkey

* cleanup

* apply changes

* revert volume reuse

* fix valkey container

* revert remove `CAP_DROP` `CAP_ADD`

* revert switch from `redis` to `valkey`

* revert revert volume reuse

* update README

* apply changes

* add back useful stuff from README + keep structure + keep compat old docker compose

---------

Co-authored-by: Emilien Devos <4016501+unixfox@users.noreply.github.com>
2024-05-13 15:39:28 +02:00
2 changed files with 28 additions and 12 deletions

View file

@ -6,11 +6,12 @@ Create a new SearXNG instance in five minutes using Docker
| Name | Description | Docker image | Dockerfile | | Name | Description | Docker image | Dockerfile |
| -- | -- | -- | -- | | -- | -- | -- | -- |
| [Caddy](https://github.com/caddyserver/caddy) | Reverse proxy (create a LetsEncrypt certificate automatically) | [caddy/caddy:2-alpine](https://hub.docker.com/_/caddy) | [Dockerfile](https://github.com/caddyserver/caddy-docker) | | [Caddy](https://github.com/caddyserver/caddy) | Reverse proxy (create a LetsEncrypt certificate automatically) | [docker.io/library/caddy:2-alpine](https://hub.docker.com/_/caddy) | [Dockerfile](https://github.com/caddyserver/caddy-docker/blob/master/Dockerfile.tmpl) |
| [SearXNG](https://github.com/searxng/searxng) | SearXNG by itself | [searxng/searxng:latest](https://hub.docker.com/r/searxng/searxng) | [Dockerfile](https://github.com/searxng/searxng/blob/master/Dockerfile) | | [SearXNG](https://github.com/searxng/searxng) | SearXNG by itself | [docker.io/searxng/searxng:latest](https://hub.docker.com/r/searxng/searxng) | [Dockerfile](https://github.com/searxng/searxng/blob/master/Dockerfile) |
| [Redis](https://github.com/redis/redis) | In-memory database | [redis:alpine](https://hub.docker.com/_/redis) | [Dockerfile-alpine.template](https://github.com/docker-library/redis/blob/master/Dockerfile-alpine.template) | | [Valkey](https://github.com/valkey-io/valkey) | In-memory database | [cgr.dev/chainguard/valkey:latest](https://cgr.dev/chainguard/valkey) | [Valkey-image](https://github.com/chainguard-images/images/tree/main/images/valkey) |
## How to use it ## How to use it
- [Install docker](https://docs.docker.com/install/) - [Install docker](https://docs.docker.com/install/)
- Get searxng-docker - Get searxng-docker
```sh ```sh
@ -31,12 +32,14 @@ Create a new SearXNG instance in five minutes using Docker
> [Install the docker-compose plugin](https://docs.docker.com/compose/install/#scenario-two-install-the-compose-plugin) (be sure that docker-compose version is at least 1.9.0) > [Install the docker-compose plugin](https://docs.docker.com/compose/install/#scenario-two-install-the-compose-plugin) (be sure that docker-compose version is at least 1.9.0)
## How to access the logs ## How to access the logs
To access the logs from all the containers use: `docker compose logs -f`. To access the logs from all the containers use: `docker compose logs -f`.
To access the logs of one specific container: To access the logs of one specific container:
- Caddy: `docker compose logs -f caddy` - Caddy: `docker compose logs -f caddy`
- SearXNG: `docker compose logs -f searxng` - SearXNG: `docker compose logs -f searxng`
- Redis: `docker compose logs -f redis` - Valkey: `docker compose logs -f redis`
### Start SearXNG with systemd ### Start SearXNG with systemd
@ -56,11 +59,12 @@ The SearXNG image proxy is activated by default.
The default [Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) allow the browser to access to ```${SEARXNG_HOSTNAME}``` and ```https://*.tile.openstreetmap.org;```. The default [Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) allow the browser to access to ```${SEARXNG_HOSTNAME}``` and ```https://*.tile.openstreetmap.org;```.
If some users wants to disable the image proxy, you have to modify [./Caddyfile](https://github.com/searxng/searxng-docker/blob/master/Caddyfile). Replace the ```img-src 'self' data: https://*.tile.openstreetmap.org;``` by ```img-src * data:;```. If some users want to disable the image proxy, you have to modify [./Caddyfile](https://github.com/searxng/searxng-docker/blob/master/Caddyfile). Replace the ```img-src 'self' data: https://*.tile.openstreetmap.org;``` by ```img-src * data:;```.
## Multi Architecture Docker images ## Multi Architecture Docker images
Supported architecture: Supported architecture:
- amd64 - amd64
- arm64 - arm64
- arm/v7 - arm/v7
@ -76,6 +80,7 @@ docker compose up -d
``` ```
Or the old way (with the old docker-compose version): Or the old way (with the old docker-compose version):
```sh ```sh
git pull git pull
docker-compose pull docker-compose pull

View file

@ -5,6 +5,7 @@ services:
container_name: caddy container_name: caddy
image: docker.io/library/caddy:2-alpine image: docker.io/library/caddy:2-alpine
network_mode: host network_mode: host
restart: unless-stopped
volumes: volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro - ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data:rw - caddy-data:/data:rw
@ -16,25 +17,37 @@ services:
- ALL - ALL
cap_add: cap_add:
- NET_BIND_SERVICE - NET_BIND_SERVICE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
redis: redis:
container_name: redis container_name: redis
image: docker.io/library/redis:alpine image: cgr.dev/chainguard/valkey:latest
command: redis-server --save 30 1 --loglevel warning command: --save 30 1 --loglevel warning
restart: unless-stopped
networks: networks:
- searxng - searxng
volumes: volumes:
- redis-data:/data - valkey-data:/data
cap_drop: cap_drop:
- ALL - ALL
cap_add: cap_add:
- SETGID - SETGID
- SETUID - SETUID
- DAC_OVERRIDE - DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
searxng: searxng:
container_name: searxng container_name: searxng
image: docker.io/fauli1221/ponysearch:latest image: docker.io/fauli1221/ponysearch:latest
restart: unless-stopped
networks: networks:
- searxng - searxng
ports: ports:
@ -57,10 +70,8 @@ services:
networks: networks:
searxng: searxng:
ipam:
driver: default
volumes: volumes:
caddy-data: caddy-data:
caddy-config: caddy-config:
redis-data: valkey-data: