13 Commits

Author SHA1 Message Date
searxng-bot
399a22b942 [l10n] update translations from Weblate
81ade0dcf - 2026-03-31 - Linerly <linerly@noreply.codeberg.org>
6d96e9916 - 2026-03-30 - danilo-jlle <danilo-jlle@noreply.codeberg.org>
f2a7ef464 - 2026-03-29 - Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>
2026-04-03 07:35:39 +00:00
Robert Clabough
bab3879cba [fix] tubearchivist engine: add trailing slash to API URL 2026-04-01 21:19:14 +02:00
github-actions[bot]
7ac4ff39fe [data] update searx.data - update_firefox_version.py (#5924)
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-29 08:32:52 +02:00
github-actions[bot]
ea6f491c93 [data] update searx.data - update_external_bangs.py (#5925)
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-29 08:32:26 +02:00
github-actions[bot]
5ecf7515dc [data] update searx.data - update_gsa_useragents.py (#5926)
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-29 08:31:52 +02:00
github-actions[bot]
c8208fa8bb [data] update searx.data - update_ahmia_blacklist.py (#5927)
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-29 08:05:41 +02:00
github-actions[bot]
40e5ba9fdc [data] update searx.data - update_currencies.py (#5930)
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-29 08:04:15 +02:00
dependabot[bot]
cf5389afd4 [upd] web-client (simple): Bump the minor group (#5915)
Bumps the minor group in /client/simple with 3 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome), [stylelint](https://github.com/stylelint/stylelint) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).

Updates `@biomejs/biome` from 2.4.8 to 2.4.9
- [Release notes](https://github.com/biomejs/biome/releases)
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md)
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.9/packages/@biomejs/biome)

Updates `stylelint` from 17.5.0 to 17.6.0
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/17.5.0...17.6.0)

Updates `vite` from 8.0.2 to 8.0.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.0.3/packages/vite)

---
updated-dependencies:
- dependency-name: "@biomejs/biome"
  dependency-version: 2.4.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor
- dependency-name: stylelint
  dependency-version: 17.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: vite
  dependency-version: 8.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-28 18:12:01 +01:00
github-actions[bot]
ae51c349fd [l10n] update translations from Weblate (#5917)
b17f6ca00 - 2026-03-26 - bittin <bittin@noreply.codeberg.org>
e43bc66a4 - 2026-03-26 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
41cb62330 - 2026-03-26 - gallegonovato <gallegonovato@noreply.codeberg.org>
48308f385 - 2026-03-25 - Outbreak2096 <outbreak2096@noreply.codeberg.org>
a91644d65 - 2026-03-25 - Stephan-P <stephan-p@noreply.codeberg.org>
af44a9e71 - 2026-03-25 - kratos <makesocialfoss32@keemail.me>
f5be3ecd0 - 2026-03-25 - ghose <ghose@noreply.codeberg.org>
7e4a2e0a5 - 2026-03-25 - return42 <return42@noreply.codeberg.org>
6768f2fbc - 2026-03-25 - Fjuro <fjuro@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-28 18:11:02 +01:00
Ivan Gabaldon
6b9856d643 [mod] container: rework compose (#5906)
* [mod] container: rework compose

See https://docs.searxng.org/admin/installation-docker.html#migrate-from-searxng-docker

* [mod] container: apply suggestions

https://github.com/searxng/searxng/pull/5906#discussion_r3004917087
https://github.com/searxng/searxng/pull/5906#discussion_r3004917090
https://github.com/searxng/searxng/pull/5906#discussion_r3004917084
2026-03-28 16:45:06 +01:00
dependabot[bot]
e58516daf5 [upd] pypi: Bump basedpyright from 1.38.3 to 1.38.4 in the minor group (#5916)
Bumps the minor group with 1 update: [basedpyright](https://github.com/detachhead/basedpyright).


Updates `basedpyright` from 1.38.3 to 1.38.4
- [Release notes](https://github.com/detachhead/basedpyright/releases)
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.38.3...v1.38.4)

---
updated-dependencies:
- dependency-name: basedpyright
  dependency-version: 1.38.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-28 07:46:23 +01:00
dependabot[bot]
265858ee2b [upd] github-actions: Bump docker/scout-action from 1.20.2 to 1.20.3 (#5913)
Bumps [docker/scout-action](https://github.com/docker/scout-action) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/docker/scout-action/releases)
- [Commits](1128f02d1e...8910519cee)

---
updated-dependencies:
- dependency-name: docker/scout-action
  dependency-version: 1.20.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 14:01:04 +01:00
dependabot[bot]
d7a83b8d8a [upd] github-actions: Bump github/codeql-action from 4.33.0 to 4.34.1 (#5914)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.33.0 to 4.34.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b1bff81932...3869755554)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.34.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 14:00:14 +01:00
22 changed files with 7294 additions and 5716 deletions

View File

@@ -29,7 +29,7 @@ jobs:
persist-credentials: "false"
- name: Sync GHCS from Docker Scout
uses: docker/scout-action@1128f02d1e60f339af7306e0e62b9fdc13d9fab9 # v1.20.2
uses: docker/scout-action@8910519cee8ac046f3ee99686b0dc6654d5ba1a7 # v1.20.3
with:
organization: "searxng"
dockerhub-user: "${{ secrets.DOCKER_USER }}"
@@ -41,6 +41,6 @@ jobs:
write-comment: "false"
- name: Upload SARIFs
uses: github/codeql-action/upload-sarif@b1bff81932f5cdfc8695c7752dcee935dcd061c8 # v4.33.0
uses: github/codeql-action/upload-sarif@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
with:
sarif_file: "./scout.sarif"

View File

@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
"$schema": "https://biomejs.dev/schemas/2.4.9/schema.json",
"files": {
"ignoreUnknown": true,
"includes": ["**", "!node_modules"]

View File

@@ -15,7 +15,7 @@
"swiped-events": "1.2.0"
},
"devDependencies": {
"@biomejs/biome": "2.4.8",
"@biomejs/biome": "2.4.9",
"@types/node": "^25.5.0",
"browserslist": "^4.28.1",
"browserslist-to-esbuild": "^2.1.1",
@@ -24,12 +24,12 @@
"mathjs": "^15.1.1",
"sharp": "~0.34.5",
"sort-package-json": "^3.6.1",
"stylelint": "^17.5.0",
"stylelint": "^17.6.0",
"stylelint-config-standard-less": "^4.1.0",
"stylelint-prettier": "^5.0.3",
"svgo": "^4.0.1",
"typescript": "~6.0.2",
"vite": "^8.0.2",
"vite": "^8.0.3",
"vite-bundle-analyzer": "^1.3.6"
}
},
@@ -69,9 +69,9 @@
}
},
"node_modules/@biomejs/biome": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.8.tgz",
"integrity": "sha512-ponn0oKOky1oRXBV+rlSaUlixUxf1aZvWC19Z41zBfUOUesthrQqL3OtiAlSB1EjFjyWpn98Q64DHelhA6jNlA==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.9.tgz",
"integrity": "sha512-wvZW92FrwitTcacvCBT8xdAbfbxWfDLwjYMmU3djjqQTh7Ni4ZdiWIT/x5VcZ+RQuxiKzIOzi5D+dcyJDFZMsA==",
"dev": true,
"license": "MIT OR Apache-2.0",
"bin": {
@@ -85,20 +85,20 @@
"url": "https://opencollective.com/biome"
},
"optionalDependencies": {
"@biomejs/cli-darwin-arm64": "2.4.8",
"@biomejs/cli-darwin-x64": "2.4.8",
"@biomejs/cli-linux-arm64": "2.4.8",
"@biomejs/cli-linux-arm64-musl": "2.4.8",
"@biomejs/cli-linux-x64": "2.4.8",
"@biomejs/cli-linux-x64-musl": "2.4.8",
"@biomejs/cli-win32-arm64": "2.4.8",
"@biomejs/cli-win32-x64": "2.4.8"
"@biomejs/cli-darwin-arm64": "2.4.9",
"@biomejs/cli-darwin-x64": "2.4.9",
"@biomejs/cli-linux-arm64": "2.4.9",
"@biomejs/cli-linux-arm64-musl": "2.4.9",
"@biomejs/cli-linux-x64": "2.4.9",
"@biomejs/cli-linux-x64-musl": "2.4.9",
"@biomejs/cli-win32-arm64": "2.4.9",
"@biomejs/cli-win32-x64": "2.4.9"
}
},
"node_modules/@biomejs/cli-darwin-arm64": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.8.tgz",
"integrity": "sha512-ARx0tECE8I7S2C2yjnWYLNbBdDoPdq3oyNLhMglmuctThwUsuzFWRKrHmIGwIRWKz0Mat9DuzLEDp52hGnrxGQ==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.9.tgz",
"integrity": "sha512-d5G8Gf2RpH5pYwiHLPA+UpG3G9TLQu4WM+VK6sfL7K68AmhcEQ9r+nkj/DvR/GYhYox6twsHUtmWWWIKfcfQQA==",
"cpu": [
"arm64"
],
@@ -113,9 +113,9 @@
}
},
"node_modules/@biomejs/cli-darwin-x64": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.8.tgz",
"integrity": "sha512-Jg9/PsB9vDCJlANE8uhG7qDhb5w0Ix69D7XIIc8IfZPUoiPrbLm33k2Ig3NOJ/7nb3UbesFz3D1aDKm9DvzjhQ==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.9.tgz",
"integrity": "sha512-LNCLNgqDMG7BLdc3a8aY/dwKPK7+R8/JXJoXjCvZh2gx8KseqBdFDKbhrr7HCWF8SzNhbTaALhTBoh/I6rf9lA==",
"cpu": [
"x64"
],
@@ -130,9 +130,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.8.tgz",
"integrity": "sha512-5CdrsJct76XG2hpKFwXnEtlT1p+4g4yV+XvvwBpzKsTNLO9c6iLlAxwcae2BJ7ekPGWjNGw9j09T5KGPKKxQig==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.9.tgz",
"integrity": "sha512-4adnkAUi6K4C/emPRgYznMOcLlUqZdXWM6aIui4VP4LraE764g6Q4YguygnAUoxKjKIXIWPteKMgRbN0wsgwcg==",
"cpu": [
"arm64"
],
@@ -147,9 +147,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64-musl": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.8.tgz",
"integrity": "sha512-Zo9OhBQDJ3IBGPlqHiTISloo5H0+FBIpemqIJdW/0edJ+gEcLR+MZeZozcUyz3o1nXkVA7++DdRKQT0599j9jA==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.9.tgz",
"integrity": "sha512-8RCww5xnPn2wpK4L/QDGDOW0dq80uVWfppPxHIUg6mOs9B6gRmqPp32h1Ls3T8GnW8Wo5A8u7vpTwz4fExN+sw==",
"cpu": [
"arm64"
],
@@ -164,9 +164,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.8.tgz",
"integrity": "sha512-PdKXspVEaMCQLjtZCn6vfSck/li4KX9KGwSDbZdgIqlrizJ2MnMcE3TvHa2tVfXNmbjMikzcfJpuPWH695yJrw==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.9.tgz",
"integrity": "sha512-L10na7POF0Ks/cgLFNF1ZvIe+X4onLkTi5oP9hY+Rh60Q+7fWzKDDCeGyiHUFf1nGIa9dQOOUPGe2MyYg8nMSQ==",
"cpu": [
"x64"
],
@@ -181,9 +181,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64-musl": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.8.tgz",
"integrity": "sha512-Gi8quv8MEuDdKaPFtS2XjEnMqODPsRg6POT6KhoP+VrkNb+T2ywunVB+TvOU0LX1jAZzfBr+3V1mIbBhzAMKvw==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.9.tgz",
"integrity": "sha512-5TD+WS9v5vzXKzjetF0hgoaNFHMcpQeBUwKKVi3JbG1e9UCrFuUK3Gt185fyTzvRdwYkJJEMqglRPjmesmVv4A==",
"cpu": [
"x64"
],
@@ -198,9 +198,9 @@
}
},
"node_modules/@biomejs/cli-win32-arm64": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.8.tgz",
"integrity": "sha512-LoFatS0tnHv6KkCVpIy3qZCih+MxUMvdYiPWLHRri7mhi2vyOOs8OrbZBcLTUEWCS+ktO72nZMy4F96oMhkOHQ==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.9.tgz",
"integrity": "sha512-aDZr0RBC3sMGJOU10BvG7eZIlWLK/i51HRIfScE2lVhfts2dQTreowLiJJd+UYg/tHKxS470IbzpuKmd0MiD6g==",
"cpu": [
"arm64"
],
@@ -215,9 +215,9 @@
}
},
"node_modules/@biomejs/cli-win32-x64": {
"version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.8.tgz",
"integrity": "sha512-vAn7iXDoUbqFXqVocuq1sMYAd33p8+mmurqJkWl6CtIhobd/O6moe4rY5AJvzbunn/qZCdiDVcveqtkFh1e7Hg==",
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.9.tgz",
"integrity": "sha512-NS4g/2G9SoQ4ktKtz31pvyc/rmgzlcIDCGU/zWbmHJAqx6gcRj2gj5Q/guXhoWTzCUaQZDIqiCQXHS7BcGYc0w==",
"cpu": [
"x64"
],
@@ -295,7 +295,6 @@
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": ">=20.19.0"
},
@@ -344,7 +343,6 @@
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": ">=20.19.0"
}
@@ -1107,9 +1105,9 @@
}
},
"node_modules/@rolldown/binding-android-arm64": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.11.tgz",
"integrity": "sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz",
"integrity": "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==",
"cpu": [
"arm64"
],
@@ -1124,9 +1122,9 @@
}
},
"node_modules/@rolldown/binding-darwin-arm64": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.11.tgz",
"integrity": "sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz",
"integrity": "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==",
"cpu": [
"arm64"
],
@@ -1141,9 +1139,9 @@
}
},
"node_modules/@rolldown/binding-darwin-x64": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.11.tgz",
"integrity": "sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.12.tgz",
"integrity": "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==",
"cpu": [
"x64"
],
@@ -1158,9 +1156,9 @@
}
},
"node_modules/@rolldown/binding-freebsd-x64": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.11.tgz",
"integrity": "sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.12.tgz",
"integrity": "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==",
"cpu": [
"x64"
],
@@ -1175,9 +1173,9 @@
}
},
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.11.tgz",
"integrity": "sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.12.tgz",
"integrity": "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==",
"cpu": [
"arm"
],
@@ -1192,9 +1190,9 @@
}
},
"node_modules/@rolldown/binding-linux-arm64-gnu": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-WMW1yE6IOnehTcFE9eipFkm3XN63zypWlrJQ2iF7NrQ9b2LDRjumFoOGJE8RJJTJCTBAdmLMnJ8uVitACUUo1Q==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.12.tgz",
"integrity": "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==",
"cpu": [
"arm64"
],
@@ -1209,9 +1207,9 @@
}
},
"node_modules/@rolldown/binding-linux-arm64-musl": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.11.tgz",
"integrity": "sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.12.tgz",
"integrity": "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==",
"cpu": [
"arm64"
],
@@ -1226,9 +1224,9 @@
}
},
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.12.tgz",
"integrity": "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==",
"cpu": [
"ppc64"
],
@@ -1243,9 +1241,9 @@
}
},
"node_modules/@rolldown/binding-linux-s390x-gnu": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.12.tgz",
"integrity": "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==",
"cpu": [
"s390x"
],
@@ -1260,9 +1258,9 @@
}
},
"node_modules/@rolldown/binding-linux-x64-gnu": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.12.tgz",
"integrity": "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==",
"cpu": [
"x64"
],
@@ -1277,9 +1275,9 @@
}
},
"node_modules/@rolldown/binding-linux-x64-musl": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.11.tgz",
"integrity": "sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.12.tgz",
"integrity": "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==",
"cpu": [
"x64"
],
@@ -1294,9 +1292,9 @@
}
},
"node_modules/@rolldown/binding-openharmony-arm64": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.11.tgz",
"integrity": "sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.12.tgz",
"integrity": "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==",
"cpu": [
"arm64"
],
@@ -1311,9 +1309,9 @@
}
},
"node_modules/@rolldown/binding-wasm32-wasi": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.11.tgz",
"integrity": "sha512-LXk5Hii1Ph9asuGRjBuz8TUxdc1lWzB7nyfdoRgI0WGPZKmCxvlKk8KfYysqtr4MfGElu/f/pEQRh8fcEgkrWw==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.12.tgz",
"integrity": "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==",
"cpu": [
"wasm32"
],
@@ -1328,9 +1326,9 @@
}
},
"node_modules/@rolldown/binding-win32-arm64-msvc": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.11.tgz",
"integrity": "sha512-dDwf5otnx0XgRY1yqxOC4ITizcdzS/8cQ3goOWv3jFAo4F+xQYni+hnMuO6+LssHHdJW7+OCVL3CoU4ycnh35Q==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.12.tgz",
"integrity": "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==",
"cpu": [
"arm64"
],
@@ -1345,9 +1343,9 @@
}
},
"node_modules/@rolldown/binding-win32-x64-msvc": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.11.tgz",
"integrity": "sha512-LN4/skhSggybX71ews7dAj6r2geaMJfm3kMbK2KhFMg9B10AZXnKoLCVVgzhMHL0S+aKtr4p8QbAW8k+w95bAA==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.12.tgz",
"integrity": "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==",
"cpu": [
"x64"
],
@@ -1362,9 +1360,9 @@
}
},
"node_modules/@rolldown/pluginutils": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.11.tgz",
"integrity": "sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.12.tgz",
"integrity": "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==",
"dev": true,
"license": "MIT"
},
@@ -1525,7 +1523,6 @@
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"undici-types": "~7.18.0"
}
@@ -1692,7 +1689,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -1911,7 +1907,6 @@
"integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"mdn-data": "2.27.1",
"source-map-js": "^1.2.1"
@@ -2656,16 +2651,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.8.19"
}
},
"node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
@@ -2842,7 +2827,6 @@
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@keyv/serialize": "^1.1.1"
}
@@ -2869,7 +2853,6 @@
"integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"copy-anything": "^3.0.5",
"parse-node-version": "^1.0.1"
@@ -3507,7 +3490,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@@ -3570,7 +3552,6 @@
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -3756,14 +3737,14 @@
}
},
"node_modules/rolldown": {
"version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.11.tgz",
"integrity": "sha512-NRjoKMusSjfRbSYiH3VSumlkgFe7kYAa3pzVOsVYVFY3zb5d7nS+a3KGQ7hJKXuYWbzJKPVQ9Wxq2UvyK+ENpw==",
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz",
"integrity": "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@oxc-project/types": "=0.122.0",
"@rolldown/pluginutils": "1.0.0-rc.11"
"@rolldown/pluginutils": "1.0.0-rc.12"
},
"bin": {
"rolldown": "bin/cli.mjs"
@@ -3772,21 +3753,21 @@
"node": "^20.19.0 || >=22.12.0"
},
"optionalDependencies": {
"@rolldown/binding-android-arm64": "1.0.0-rc.11",
"@rolldown/binding-darwin-arm64": "1.0.0-rc.11",
"@rolldown/binding-darwin-x64": "1.0.0-rc.11",
"@rolldown/binding-freebsd-x64": "1.0.0-rc.11",
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.11",
"@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-arm64-musl": "1.0.0-rc.11",
"@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-x64-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-x64-musl": "1.0.0-rc.11",
"@rolldown/binding-openharmony-arm64": "1.0.0-rc.11",
"@rolldown/binding-wasm32-wasi": "1.0.0-rc.11",
"@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.11",
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.11"
"@rolldown/binding-android-arm64": "1.0.0-rc.12",
"@rolldown/binding-darwin-arm64": "1.0.0-rc.12",
"@rolldown/binding-darwin-x64": "1.0.0-rc.12",
"@rolldown/binding-freebsd-x64": "1.0.0-rc.12",
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.12",
"@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.12",
"@rolldown/binding-linux-arm64-musl": "1.0.0-rc.12",
"@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.12",
"@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.12",
"@rolldown/binding-linux-x64-gnu": "1.0.0-rc.12",
"@rolldown/binding-linux-x64-musl": "1.0.0-rc.12",
"@rolldown/binding-openharmony-arm64": "1.0.0-rc.12",
"@rolldown/binding-wasm32-wasi": "1.0.0-rc.12",
"@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.12",
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12"
}
},
"node_modules/run-parallel": {
@@ -4074,9 +4055,9 @@
}
},
"node_modules/stylelint": {
"version": "17.5.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.5.0.tgz",
"integrity": "sha512-o/NS6zhsPZFmgUm5tXX4pVNg1XDOZSlucLdf2qow/lVn4JIyzZIQ5b3kad1ugqUj3GSIgr2u5lQw7X8rjqw33g==",
"version": "17.6.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.6.0.tgz",
"integrity": "sha512-tokrsMIVAR9vAQ/q3UVEr7S0dGXCi7zkCezPRnS2kqPUulvUh5Vgfwngrk4EoAoW7wnrThqTdnTFN5Ra7CaxIg==",
"dev": true,
"funding": [
{
@@ -4089,11 +4070,10 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"@csstools/css-calc": "^3.1.1",
"@csstools/css-parser-algorithms": "^4.0.0",
"@csstools/css-syntax-patches-for-csstree": "^1.0.29",
"@csstools/css-syntax-patches-for-csstree": "^1.1.1",
"@csstools/css-tokenizer": "^4.0.0",
"@csstools/media-query-list-parser": "^5.0.0",
"@csstools/selector-resolve-nested": "^4.0.0",
@@ -4112,7 +4092,6 @@
"html-tags": "^5.1.0",
"ignore": "^7.0.5",
"import-meta-resolve": "^4.2.0",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
"mathml-tag-names": "^4.0.0",
"meow": "^14.1.0",
@@ -4127,7 +4106,7 @@
"supports-hyperlinks": "^4.4.0",
"svg-tags": "^1.0.0",
"table": "^6.9.0",
"write-file-atomic": "^7.0.0"
"write-file-atomic": "^7.0.1"
},
"bin": {
"stylelint": "bin/stylelint.mjs"
@@ -4442,7 +4421,6 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@@ -4487,7 +4465,6 @@
"integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -4573,16 +4550,16 @@
"license": "MIT"
},
"node_modules/vite": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.2.tgz",
"integrity": "sha512-1gFhNi+bHhRE/qKZOJXACm6tX4bA3Isy9KuKF15AgSRuRazNBOJfdDemPBU16/mpMxApDPrWvZ08DcLPEoRnuA==",
"version": "8.0.3",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz",
"integrity": "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"lightningcss": "^1.32.0",
"picomatch": "^4.0.3",
"picomatch": "^4.0.4",
"postcss": "^8.5.8",
"rolldown": "1.0.0-rc.11",
"rolldown": "1.0.0-rc.12",
"tinyglobby": "^0.2.15"
},
"bin": {

View File

@@ -29,7 +29,7 @@
"swiped-events": "1.2.0"
},
"devDependencies": {
"@biomejs/biome": "2.4.8",
"@biomejs/biome": "2.4.9",
"@types/node": "^25.5.0",
"browserslist": "^4.28.1",
"browserslist-to-esbuild": "^2.1.1",
@@ -38,12 +38,12 @@
"mathjs": "^15.1.1",
"sharp": "~0.34.5",
"sort-package-json": "^3.6.1",
"stylelint": "^17.5.0",
"stylelint": "^17.6.0",
"stylelint-config-standard-less": "^4.1.0",
"stylelint-prettier": "^5.0.3",
"svgo": "^4.0.1",
"typescript": "~6.0.2",
"vite": "^8.0.2",
"vite": "^8.0.3",
"vite-bundle-analyzer": "^1.3.6"
}
}

15
container/.env.example Normal file
View File

@@ -0,0 +1,15 @@
# Read the documentation before using the `docker-compose.yml` file:
# https://docs.searxng.org/admin/installation-docker.html
#
# Additional ENVs:
# https://docs.searxng.org/admin/settings/settings_general.html#settings-general
# https://docs.searxng.org/admin/settings/settings_server.html#settings-server
# Use a specific version tag. E.g. "latest" or "2026.3.25-541c6c3cb".
#SEARXNG_VERSION=latest
# Listen to a specific address.
#SEARXNG_HOST=[::]
# Listen to a specific port.
#SEARXNG_PORT=8080

View File

@@ -15,17 +15,17 @@ ARG VCS_URL="unknown"
ARG VCS_REVISION="unknown"
LABEL org.opencontainers.image.created="$CREATED" \
org.opencontainers.image.description="SearXNG is a metasearch engine. Users are neither tracked nor profiled." \
org.opencontainers.image.documentation="https://docs.searxng.org/admin/installation-docker" \
org.opencontainers.image.licenses="AGPL-3.0-or-later" \
org.opencontainers.image.revision="$VCS_REVISION" \
org.opencontainers.image.source="$VCS_URL" \
org.opencontainers.image.title="SearXNG" \
org.opencontainers.image.url="https://searxng.org" \
org.opencontainers.image.version="$VERSION"
org.opencontainers.image.description="SearXNG is a metasearch engine. Users are neither tracked nor profiled." \
org.opencontainers.image.documentation="https://docs.searxng.org/admin/installation-docker" \
org.opencontainers.image.licenses="AGPL-3.0-or-later" \
org.opencontainers.image.revision="$VCS_REVISION" \
org.opencontainers.image.source="$VCS_URL" \
org.opencontainers.image.title="SearXNG" \
org.opencontainers.image.url="https://searxng.org" \
org.opencontainers.image.version="$VERSION"
ENV SEARXNG_VERSION="$VERSION" \
SEARXNG_SETTINGS_PATH="$CONFIG_PATH/settings.yml" \
ENV __SEARXNG_VERSION="$VERSION" \
__SEARXNG_SETTINGS_PATH="$__SEARXNG_CONFIG_PATH/settings.yml" \
GRANIAN_PROCESS_NAME="searxng" \
GRANIAN_INTERFACE="wsgi" \
GRANIAN_HOST="::" \
@@ -36,8 +36,8 @@ ENV SEARXNG_VERSION="$VERSION" \
GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT="5m"
# "*_PATH" ENVs are defined in base images
VOLUME $CONFIG_PATH
VOLUME $DATA_PATH
VOLUME $__SEARXNG_CONFIG_PATH
VOLUME $__SEARXNG_DATA_PATH
EXPOSE 8080

View File

@@ -0,0 +1,28 @@
# Read the documentation before using the `docker-compose.yml` file:
# https://docs.searxng.org/admin/installation-docker.html
name: searxng
services:
core:
container_name: searxng-core
image: docker.io/searxng/searxng:${SEARXNG_VERSION:-latest}
restart: always
ports:
- ${SEARXNG_HOST:+${SEARXNG_HOST}:}${SEARXNG_PORT:-8080}:${SEARXNG_PORT:-8080}
env_file: ./.env
volumes:
- ./core-config/:/etc/searxng/:Z
- core-data:/var/cache/searxng/
valkey:
container_name: searxng-valkey
image: docker.io/valkey/valkey:9-alpine
command: valkey-server --save 30 1 --loglevel warning
restart: always
volumes:
- valkey-data:/data/
volumes:
core-data:
valkey-data:

View File

@@ -117,16 +117,22 @@ EOF
}
cat <<EOF
SearXNG $SEARXNG_VERSION
SearXNG $__SEARXNG_VERSION
EOF
# Check for volume mounts
volume_handler "$CONFIG_PATH"
volume_handler "$DATA_PATH"
volume_handler "$__SEARXNG_CONFIG_PATH"
volume_handler "$__SEARXNG_DATA_PATH"
# Check for files
config_handler "$SEARXNG_SETTINGS_PATH" "/usr/local/searxng/searx/settings.yml"
config_handler "$__SEARXNG_SETTINGS_PATH" "/usr/local/searxng/searx/settings.yml"
update-ca-certificates
# root only features
if [ "$(id -u)" -eq 0 ]; then
update-ca-certificates
fi
# ENVs aliases
export GRANIAN_PORT="${SEARXNG_PORT:-$GRANIAN_PORT}"
exec /usr/local/searxng/.venv/bin/granian searx.webapp:app

View File

@@ -9,7 +9,6 @@ Installation container
.. _Podman rootless containers: https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md
.. _DockerHub mirror: https://hub.docker.com/r/searxng/searxng
.. _GHCR mirror: https://ghcr.io/searxng/searxng
.. _Docker compose: https://github.com/searxng/searxng-docker
.. sidebar:: info
@@ -27,7 +26,7 @@ Installation container
`Docker 101`_ before proceeding.
Container images are the basis for deployments in containerized environments,
`Docker compose`_, Kubernetes and more.
Compose, Kubernetes and more.
.. _Container installation:
@@ -55,10 +54,10 @@ In the case of Docker, you need to add the user running the container to the
In the case of Podman, no additional steps are generally required, but there
are some considerations when running `Podman rootless containers`_.
.. _Container pulling images:
.. _Container registries:
Pulling images
--------------
Registries
----------
.. note::
@@ -70,26 +69,108 @@ The official images are mirrored at:
- `DockerHub mirror`_
- `GHCR mirror`_ (GitHub Container Registry)
Pull the latest image:
.. _Container compose instancing:
Compose instancing
==================
This is the recommended way to deploy SearXNG in a containerized environment.
Compose templates allow you to define container configurations in a
declarative manner.
.. _Container compose instancing setup:
Setup
-----
1. Create the environment:
.. code:: sh
$ docker pull docker.io/searxng/searxng:latest
# Create the environment and configuration directories
$ mkdir -p ./searxng/core-config/
$ cd ./searxng/
\.\. or if you want to lock in to a specific version:
# Fetch the latest compose template
$ curl -fsSLO \
https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
2. Rename the ``.env.example`` file to ``.env`` and edit the values as needed.
3. Start & stop the services:
.. code:: sh
$ docker pull docker.io/searxng/searxng:2025.8.1-3d96414
$ docker compose up -d
$ docker compose down
.. _Container instancing:
4. Setup your settings in ``core-config/settings.yml`` according to your preferences.
Instancing
==========
.. _Container compose instancing maintenance:
Management
----------
.. important::
Remember to review the new templates for any changes that may affect your
deployment, and update the ``.env`` file accordingly.
To update the templates to their latest versions:
.. code:: sh
$ docker compose down
$ curl -fsSLO \
https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
$ docker compose up -d
To update the services to their latest versions:
.. code:: sh
$ docker compose down
$ docker compose pull
$ docker compose up -d
List running services:
.. code:: sh
$ docker compose ps
NAME IMAGE ... CREATED STATUS PORTS
searxng-core ... ... 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp
searxng-valkey ... ... 3 minutes ago Up 3 minutes 6379/tcp
Print a service container logs:
.. code:: sh
$ docker compose logs -f core
Access a service container shell (troubleshooting):
.. code:: sh
$ docker compose exec -it --user root core /bin/sh -l
/usr/local/searxng #
Stop and remove the services:
.. code:: sh
$ docker compose down
.. _Container manual instancing:
Manual instancing
=================
This section is intended for advanced users who need custom deployments. We
recommend using `Docker compose`_, which provides a preconfigured environment
with sensible defaults.
recommend using `Container compose instancing`_, which provides a preconfigured
environment with sensible defaults.
Basic container instancing example:
@@ -121,12 +202,18 @@ List running containers:
CONTAINER ID IMAGE ... CREATED PORTS NAMES
1af574997e63 ... ... 3 minutes ago 0.0.0.0:8888->8080/tcp searxng
Print the container logs:
.. code:: sh
$ docker container logs -f searxng
Access the container shell (troubleshooting):
.. code:: sh
$ docker container exec -it --user root searxng /bin/sh -l
1af574997e63:/usr/local/searxng#
/usr/local/searxng #
Stop and remove the container:
@@ -153,18 +240,12 @@ Environment variables
The following environment variables can be configured:
- ``$SEARXNG_*``: Controls the SearXNG configuration options, look out for
environment ``$SEARXNG_*`` in :ref:`settings server` and :ref:`settings
general`.
environment ``$SEARXNG_*`` in :ref:`settings server`, :ref:`settings
general` and the :origin:`container/.env.example` template.
- ``$GRANIAN_*``: Controls the :ref:`Granian server options <Granian configuration>`.
- ``$FORCE_OWNERSHIP``: Ensures mounted volumes/files are owned by the
``searxng:searxng`` user (default: ``true``)
Container internal paths (don't modify unless you know what you're doing):
- ``$CONFIG_PATH``: Path to the SearXNG configuration directory (default: ``/etc/searxng``)
- ``$SEARXNG_SETTINGS_PATH``: Path to the SearXNG settings file (default: ``$CONFIG_PATH/settings.yml``)
- ``$DATA_PATH``: Path to the SearXNG data directory (default: ``/var/cache/searxng``)
.. _Container custom certificates:
Custom certificates
@@ -176,6 +257,8 @@ additional certificates as needed.
They will be available on container (re)start or when running
``update-ca-certificates`` in the container shell.
This requires the container to be running with ``root`` privileges.
.. _Container custom images:
Custom images
@@ -199,3 +282,57 @@ container images are not officially supported):
localhost/searxng/searxng builder ... About a minute ago 524 MB
ghcr.io/searxng/base searxng-builder ... 2 days ago 378 MB
ghcr.io/searxng/base searxng ... 2 days ago 42.2 MB
Migrate from ``searxng-docker``
===============================
We expect the following source directory structure:
.. code:: sh
.
└── searxng-docker
├── searxng
│ ├── favicons.toml
│ ├── limiter.toml
│ ├── settings.yml
│ └── ...
├── .env
├── Caddyfile
├── docker-compose.yml
└── ...
Create a brand new environment outside ``searxng-docker`` directory, following
`Container compose instancing setup`_.
Once up and running, stop the services and move the configuration files from
the old mount to the new one:
.. code:: sh
$ mv ./searxng-docker/searxng/* ./searxng/core-config/
If you have any custom environment variables in the old ``.env`` file, make
sure to add them manually to the new one.
Consider setting up a reverse proxy if exposing the instance to the public.
You should end with the following directory structure:
.. code:: sh
.
├── searxng
│ ├── core-config
│ │ ├── favicons.toml
│ │ ├── limiter.toml
│ │ ├── settings.yml
│ │ └── ...
│ ├── .env.example
│ ├── .env
│ └── docker-compose.yml
└── searxng-docker
└── ...
If everything is working on the new environment, you can remove the old
``searxng-docker`` directory and its contents.

View File

@@ -22,5 +22,5 @@ coloredlogs==15.0.1
docutils>=0.21.2
parameterized==0.9.0
granian[reload]==2.7.2
basedpyright==1.38.3
basedpyright==1.38.4
types-lxml==2026.2.16

File diff suppressed because it is too large Load Diff

View File

@@ -418,7 +418,7 @@
"pap": "Florin",
"pl": "Florin arubański",
"pt": "Florim arubano",
"ro": "Florin arubez",
"ro": "florin arubez",
"ru": "арубанский флорин",
"sk": "Arubský florin",
"sr": "арупски флорин",
@@ -507,7 +507,7 @@
"pa": "ਬੋਸਨੀਆ ਅਤੇ ਹਰਜ਼ੇਗੋਵੀਨਾ ਵਟਾਂਦਰਾਯੋਗ ਮਾਰਕ",
"pl": "Marka zamienna",
"pt": "marco conversível",
"ro": "Marcă bosniacă convertibilă",
"ro": "marcă convertibilă",
"ru": "конвертируемая марка",
"sk": "Konvertibilná marka",
"sl": "konvertibilna marka Bosne in Hercegovine",
@@ -577,6 +577,7 @@
"ja": "タカ",
"ko": "방글라데시 타카",
"lt": "Bangladešo taka",
"lv": "Bangladešas taka",
"nl": "Bengalese taka",
"oc": "Taka",
"pa": "ਬੰਗਲਾਦੇਸ਼ੀ ਟਕਾ",
@@ -2141,7 +2142,7 @@
"ar": "كتزال غواتيمالي",
"bg": "Гватемалски кецал",
"ca": "quetzal",
"cs": "Guatemalský quetzal",
"cs": "guatemalský quetzal",
"cy": "Quetzal Gwatemala",
"de": "guatemaltekischer Quetzal",
"en": "quetzal",
@@ -2558,7 +2559,7 @@
"bg": "Ирански риал",
"bn": "ইরানি রিয়াল",
"ca": "rial iranià",
"cs": "Íránský riál",
"cs": "íránský rijál",
"cy": "rial Iranaidd",
"da": "Rial",
"de": "iranischer Rial",
@@ -3492,7 +3493,7 @@
"pa": "ਮਕਦੂਨੀਆਈ ਦਿਨਾਰ",
"pl": "denar",
"pt": "dinar macedónio",
"ro": "Denar macedonean",
"ro": "denar macedonean",
"ru": "македонский денар",
"sk": "Macedónsky denár",
"sl": "makedonski denar",
@@ -4892,7 +4893,7 @@
"pa": "ਸਵੀਡਨੀ ਕਰੋਨਾ",
"pl": "korona szwedzka",
"pt": "coroa sueca",
"ro": "Coroană suedeză",
"ro": "coroană suedeză",
"ru": "шведская крона",
"sk": "Švédska koruna",
"sl": "švedska krona",
@@ -5416,7 +5417,7 @@
"hu": "tongai paʻanga",
"id": "Pa'anga",
"it": "pa'anga tongano",
"ja": "パアンガ",
"ja": "パアンガ",
"ko": "통가 팡가",
"lt": "Tongos paanga",
"ms": "Paʻanga",
@@ -5780,7 +5781,7 @@
"ca": "som uzbek",
"cs": "Uzbecký sum",
"de": "Soʻm",
"en": "Uzbekistani som",
"en": "Uzbek som",
"eo": "uzbeka somo",
"es": "som",
"fi": "Uzbekistanin som",
@@ -6891,6 +6892,7 @@
"bangladeshin taka": "BDT",
"bangladesi taka": "BDT",
"bangladeŝa tako": "BDT",
"bangladešas taka": "BDT",
"bangladeška taka": "BDT",
"bangladešo taka": "BDT",
"bangladeş takası": "BDT",
@@ -9263,7 +9265,6 @@
"izraelski novi šekel": "ILS",
"izraēlas jaunais šekelis": "ILS",
"izraēlas šekelis": "ILS",
"íránský rial": "IRR",
"íránský riál": "IRR",
"íránský rijál": "IRR",
"i̇ngiliz sterlini": "GBP",
@@ -10209,6 +10210,7 @@
"marca convertibilă a bosniei și herțegovinei": "BAM",
"marca convertibilă a bosniei şi herţegovinei": "BAM",
"marcă bosniacă convertibilă": "BAM",
"marcă convertibilă": "BAM",
"marcă convertibilă a bosniei și herțegovinei": "BAM",
"marcă convertibilă a bosniei şi herţegovinei": "BAM",
"marco bosniaco": "BAM",
@@ -12554,11 +12556,12 @@
"uyw": "UYW",
"uzbecký som": "UZS",
"uzbecký sum": "UZS",
"uzbek som": "UZS",
"uzbek sum": "UZS",
"uzbeka somo": "UZS",
"uzbeka sumo": "UZS",
"uzbekijos somas": "UZS",
"uzbekijos sumas": "UZS",
"uzbekistani som": "UZS",
"uzbekistani sum": "UZS",
"uzbekistanin som": "UZS",
"uzbekistano sumas": "UZS",
@@ -14850,8 +14853,7 @@
"رينغيت ماليزي": "MYR",
"ریال": [
"YER",
"SAR",
"IRR"
"SAR"
],
"ریال,": "IRR",
"زلوتي": [
@@ -15428,8 +15430,10 @@
"ด่ง": "VND",
"ด่อง": "VND",
"ด่องเวียดนาม": "VND",
"ทิคัล": "THB",
"ทูกรีก": "MNT",
"บาท": "THB",
"บาทสยาม": "THB",
"บาทไทย": "THB",
"ปอนด์ซูดานใต้": "SSP",
"ปอนด์สเตอร์ลิง": "GBP",
@@ -15464,7 +15468,9 @@
"เงินบาท": "THB",
"เงินปอนด์": "GBP",
"เงินวอนเกาหลีใต้": "KRW",
"เงินสยาม": "THB",
"เงินหยวน": "CNY",
"เงินไทย": "THB",
"เท็งเก": "KZT",
"เปโซคิวบา": "CUP",
"เปโซชิลี": "CLP",
@@ -16031,6 +16037,7 @@
"トルクメン・マナト": "TMT",
"トルコリラ": "TRY",
"トルコ・リラ": "TRY",
"トンガ・パアンガ": "TOP",
"トンガ・パ・アンガ": "TOP",
"ナイジェリア・ナイラ": "NGN",
"ナイラ": "NGN",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
],
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"versions": [
"148.0",
"147.0"
"149.0",
"148.0"
]
}

View File

@@ -127,7 +127,7 @@ def request(query, params):
return False
args = {'query': query}
params['url'] = f"{base_url.rstrip('/')}/api/search?{urlencode(args)}"
params['url'] = f"{base_url.rstrip('/')}/api/search/?{urlencode(args)}"
params['headers']['Authorization'] = f'Token {ta_token}'
return params

View File

@@ -25,15 +25,16 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-03-24 18:43+0000\n"
"PO-Revision-Date: 2026-03-04 15:29+0000\n"
"PO-Revision-Date: 2026-04-01 18:57+0000\n"
"Last-Translator: Linerly <linerly@noreply.codeberg.org>\n"
"Language-Team: Indonesian <https://translate.codeberg.org/projects/searxng/"
"searxng/id/>\n"
"Language: id\n"
"Language-Team: Indonesian "
"<https://translate.codeberg.org/projects/searxng/searxng/id/>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.16.2\n"
"Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -650,7 +651,7 @@ msgstr "Hitung {func} dari argumen"
#: searx/engines/boardreader.py:107
#, python-brace-format
msgid "Posted by {author}"
msgstr ""
msgstr "Dipos oleh {author}"
#: searx/engines/openstreetmap.py:155
msgid "Show route in map .."
@@ -2304,4 +2305,3 @@ msgstr "sembunyikan video"
#~ msgstr ""
#~ "Laporkan sebuah masalah baru di Github"
#~ " yang mengandung informasi di atas"

View File

@@ -45,20 +45,22 @@
# bdcdo <bdcdo@noreply.codeberg.org>, 2025.
# "lucasmz.dev" <lucasmz.dev@noreply.codeberg.org>, 2025.
# return42 <return42@noreply.codeberg.org>, 2025.
# danilo-jlle <danilo-jlle@noreply.codeberg.org>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-03-24 18:43+0000\n"
"PO-Revision-Date: 2025-12-08 06:44+0000\n"
"Last-Translator: \"lucasmz.dev\" <lucasmz.dev@noreply.codeberg.org>\n"
"PO-Revision-Date: 2026-03-31 16:57+0000\n"
"Last-Translator: danilo-jlle <danilo-jlle@noreply.codeberg.org>\n"
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/"
"searxng/searxng/pt_BR/>\n"
"Language: pt_BR\n"
"Language-Team: Portuguese (Brazil) "
"<https://translate.codeberg.org/projects/searxng/searxng/pt_BR/>\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.16.2\n"
"Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -675,7 +677,7 @@ msgstr "Calcular {func} dos argumentos"
#: searx/engines/boardreader.py:107
#, python-brace-format
msgid "Posted by {author}"
msgstr ""
msgstr "Postado por {author}"
#: searx/engines/openstreetmap.py:155
msgid "Show route in map .."
@@ -2454,4 +2456,3 @@ msgstr "ocultar vídeo"
#~ msgid "Submit a new issue on Github including the above information"
#~ msgstr "Envie um novo problema no GitHub e inclua as informações acima"

View File

@@ -43,18 +43,19 @@
# Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>, 2026.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-03-24 18:43+0000\n"
"PO-Revision-Date: 2026-01-10 17:50+0000\n"
"PO-Revision-Date: 2026-03-29 23:07+0000\n"
"Last-Translator: Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>\n"
"Language-Team: Chinese (Traditional Han script, Taiwan) <https://"
"translate.codeberg.org/projects/searxng/searxng/zh_Hant_TW/>\n"
"Language: zh_Hant_TW\n"
"Language-Team: Chinese (Traditional Han script, Taiwan) "
"<https://translate.codeberg.org/projects/searxng/searxng/zh_Hant_TW/>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.16.2\n"
"Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -671,7 +672,7 @@ msgstr "計算參數的 {func}"
#: searx/engines/boardreader.py:107
#, python-brace-format
msgid "Posted by {author}"
msgstr ""
msgstr "由 {author} 發布"
#: searx/engines/openstreetmap.py:155
msgid "Show route in map .."
@@ -2316,4 +2317,3 @@ msgstr "隱藏影片"
#~ msgid "Submit a new issue on Github including the above information"
#~ msgstr "在 GitHub 上提交包含上述資訊的新問題"