# Hermes Docker Stack Self-hosted SearXNG (metasearch) + Camofox (browser) for Hermes Agent. ## Структура ``` docker/ ├── compose/ # Production compose-файлы (по одному на сервис) │ ├── searxng/ # SearXNG — self-hosted metasearch │ └── camofox/ # Camofox — anti-detection browser (Firefox) ├── dev/ # Dev-версии (другие порты) │ ├── searxng/ │ └── camofox/ ├── volumes/ # Persistent volume data │ ├── searxng/config/ # settings.yml │ ├── searxng/data/ # Search engine data │ ├── camofox/browser/ # Firefox profiles │ └── shared/ # Shared downloads ├── scripts/ # Утилиты │ └── manage.sh ├── tests/ # Тесты ├── docker-compose.yml # Главный стек (extends compose/*) ├── .env # Секреты (gitignored) ├── .env.example # Шаблон .env └── .gitignore ``` ## Порты | Сервис | Prod | Dev | |----------|------|------| | SearXNG | 8964 | 8965 | | Camofox | 9377 | 9378 | ## Использование ```bash ./scripts/manage.sh start # Запустить стек ./scripts/manage.sh status # Статус ./scripts/manage.sh logs # Логи ./scripts/manage.sh stop # Остановить ./scripts/manage.sh dev # Dev-режим ./scripts/manage.sh dev-stop # Остановить dev ``` ## Интеграция с Hermes В `~/.hermes/.env`: ``` SEARXNG_URL=http://localhost:8964 CAMOFOX_URL=http://localhost:9377 ``` В `~/.hermes/config.yaml`: ```yaml web: search_backend: searxng browser: backend: camofox camofox: rewrite_loopback_urls: true loopback_host_alias: host.docker.internal ```