mirror of
https://github.com/searxng/searxng-docker.git
synced 2025-12-22 19:50:00 +00:00
[fix] container: move references (#417)
This commit is contained in:
46
README.md
46
README.md
@@ -4,26 +4,34 @@ Create a new SearXNG instance in five minutes using Docker
|
|||||||
|
|
||||||
## What is included?
|
## What is included?
|
||||||
|
|
||||||
| Name | Description | Docker image | Dockerfile |
|
| Name | Description | Docker image | Dockerfile |
|
||||||
| -- | -- | -- | -- |
|
|-----------------------------------------------|----------------------------------------------------------------|------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| [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) |
|
| [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 | [docker.io/searxng/searxng:latest](https://hub.docker.com/r/searxng/searxng) | [Dockerfile](https://github.com/searxng/searxng/blob/master/container/Dockerfile) |
|
| [SearXNG](https://github.com/searxng/searxng) | SearXNG by itself | [docker.io/searxng/searxng:latest](https://hub.docker.com/r/searxng/searxng) | [builder.dockerfile](https://github.com/searxng/searxng/blob/master/container/builder.dockerfile) [dist.dockerfile](https://github.com/searxng/searxng/blob/master/container/dist.dockerfile) |
|
||||||
| [Valkey](https://github.com/valkey-io/valkey) | In-memory database | [docker.io/valkey/valkey:8-alpine](https://hub.docker.com/r/valkey/valkey) | [Dockerfile](https://github.com/valkey-io/valkey-container/blob/mainline/Dockerfile.template) |
|
| [Valkey](https://github.com/valkey-io/valkey) | In-memory database | [docker.io/valkey/valkey:8-alpine](https://hub.docker.com/r/valkey/valkey) | [Dockerfile](https://github.com/valkey-io/valkey-container/blob/mainline/Dockerfile.template) |
|
||||||
|
|
||||||
## How to use it
|
## How to use it
|
||||||
There are two ways to host SearXNG. The first one doesn't require any prior knowledge about self-hosting and thus is recommended for beginners. It includes caddy as a reverse proxy and automatically deals with the TLS certificates for you. The second one is recommended for more advanced users that already have their own reverse proxy (e.g. Nginx, HAProxy, ...) and probably some other services running on their machine. The first few steps are the same for both installation methods however.
|
|
||||||
|
There are two ways to host SearXNG. The first one doesn't require any prior knowledge about self-hosting and thus is
|
||||||
|
recommended for beginners. It includes caddy as a reverse proxy and automatically deals with the TLS certificates for
|
||||||
|
you. The second one is recommended for more advanced users that already have their own reverse proxy (e.g. Nginx,
|
||||||
|
HAProxy, ...) and probably some other services running on their machine. The first few steps are the same for both
|
||||||
|
installation methods however.
|
||||||
|
|
||||||
1. [Install docker](https://docs.docker.com/install/)
|
1. [Install docker](https://docs.docker.com/install/)
|
||||||
2. Get searxng-docker
|
2. Get searxng-docker
|
||||||
```sh
|
|
||||||
cd /usr/local
|
```shell
|
||||||
git clone https://github.com/searxng/searxng-docker.git
|
cd /usr/local
|
||||||
cd searxng-docker
|
git clone https://github.com/searxng/searxng-docker.git
|
||||||
```
|
cd searxng-docker
|
||||||
|
```
|
||||||
|
|
||||||
3. Edit the [.env](https://github.com/searxng/searxng-docker/blob/master/.env) file to set the hostname and an email
|
3. Edit the [.env](https://github.com/searxng/searxng-docker/blob/master/.env) file to set the hostname and an email
|
||||||
4. Generate the secret key `sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml`
|
4. Generate the secret key `sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml`
|
||||||
On a Mac: `sed -i '' "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml`
|
On a Mac: `sed -i '' "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml`
|
||||||
5. Edit [searxng/settings.yml](https://github.com/searxng/searxng-docker/blob/master/searxng/settings.yml) according to your needs
|
5. Edit [searxng/settings.yml](https://github.com/searxng/searxng-docker/blob/master/searxng/settings.yml) according to
|
||||||
|
your needs
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Windows users can use the following powershell script to generate the secret key:
|
> Windows users can use the following powershell script to generate the secret key:
|
||||||
@@ -35,16 +43,20 @@ There are two ways to host SearXNG. The first one doesn't require any prior know
|
|||||||
> ```
|
> ```
|
||||||
|
|
||||||
### Method 1: With Caddy included (recommended for beginners)
|
### Method 1: With Caddy included (recommended for beginners)
|
||||||
|
|
||||||
6. Run SearXNG in the background: `docker compose up -d`
|
6. Run SearXNG in the background: `docker compose up -d`
|
||||||
|
|
||||||
### Method 2: Bring your own reverse proxy (experienced users)
|
### Method 2: Bring your own reverse proxy (experienced users)
|
||||||
|
|
||||||
6. Remove the caddy related parts in `docker-compose.yaml` such as the caddy service and its volumes.
|
6. Remove the caddy related parts in `docker-compose.yaml` such as the caddy service and its volumes.
|
||||||
7. Point your reverse proxy to the port set for the `searxng` service in `docker-compose.yml` (8080 by default).
|
7. Point your reverse proxy to the port set for the `searxng` service in `docker-compose.yml` (8080 by default).
|
||||||
8. Generate and configure the required TLS certificates with the reverse proxy of your choice.
|
8. Generate and configure the required TLS certificates with the reverse proxy of your choice.
|
||||||
9. Run SearXNG in the background: `docker compose up -d`
|
9. Run SearXNG in the background: `docker compose up -d`
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> You can change the port `searxng` listens on inside the docker container (e.g. if you want to operate in `host` network mode) with the `BIND_ADDRESS` environment variable (defaults to `[::]:8080`). The environment variable can be set directly inside `docker-compose.yaml`.
|
> You can change the port `searxng` listens on inside the docker container (e.g. if you want to operate in `host`
|
||||||
|
> network mode) with the `BIND_ADDRESS` environment variable (defaults to `[::]:8080`). The environment variable can be
|
||||||
|
> set directly inside `docker-compose.yaml`.
|
||||||
|
|
||||||
## Troubleshooting - How to access the logs
|
## Troubleshooting - How to access the logs
|
||||||
|
|
||||||
@@ -59,13 +71,15 @@ To access the logs of one specific container:
|
|||||||
### Start SearXNG with systemd
|
### Start SearXNG with systemd
|
||||||
|
|
||||||
You can skip this step if you don't use systemd.
|
You can skip this step if you don't use systemd.
|
||||||
|
|
||||||
1. Copy the service template file:
|
1. Copy the service template file:
|
||||||
```sh
|
```sh
|
||||||
cp searxng-docker.service.template searxng-docker.service
|
cp searxng-docker.service.template searxng-docker.service
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Edit the content of ```WorkingDirectory``` in the ```searxng-docker.service``` file (only if the installation path is different from ```/usr/local/searxng-docker```)
|
2. Edit the content of ```WorkingDirectory``` in the ```searxng-docker.service``` file (only if the installation path is
|
||||||
|
different from ```/usr/local/searxng-docker```)
|
||||||
|
|
||||||
3. Enable the service:
|
3. Enable the service:
|
||||||
```sh
|
```sh
|
||||||
systemctl enable $(pwd)/searxng-docker.service
|
systemctl enable $(pwd)/searxng-docker.service
|
||||||
|
|||||||
Reference in New Issue
Block a user