mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-08-24 18:04:21 +02:00
* fix(docker): migrate retained SearXNG settings Retained nonempty SearXNG settings can miss defaults required by newer pinned images while bypassing the entrypoint's narrow regeneration checks. Add an atomic PyYAML-aware migration to all Compose variants. Preserve existing inheritance choices, custom content, secrets, ownership, and mode while inserting only the missing top-level default-inheritance key. Validated with 39 focused and adjacent tests, compile checks, and fresh and retained pinned-image HTTP 200 gates. Full repository CI remains for the PR. * fix(docker): chmod the settings temp file before chowning it The Compose cap set is `cap_drop: ALL` plus CHOWN/SETGID/SETUID/DAC_OVERRIDE and carries no FOWNER, and searxng's own entrypoint chowns /etc/searxng to searxng:searxng, so every retained settings file belongs to that user by the second boot. Chowning the temporary file first left root unable to chmod it, so the migration exited 1 and `set -eu` killed the container before `exec /usr/local/searxng/entrypoint.sh` — SearXNG never started and odysseus blocked on its healthcheck. Swap the two calls so the chmod lands while the temporary file is still root-owned, and cover the ordering with a test that refuses the chmod once the chown has happened, the way the kernel does. * fix(docker): let searxng boot when the settings migration fails The migration runs under `set -eu`, so any settings file it cannot parse or rewrite took the container down instead of merely going unmigrated. A symlinked /etc/searxng/settings.yml is enough: the migration refuses a non-regular file and searxng, which reads through the symlink perfectly well, never got to start. Guard the call with `|| true` in all three Compose variants. The failure still prints its reason on stderr, and searxng is left to report anything genuinely wrong with the file. --------- Co-authored-by: Léo <leograndcontact@gmail.com> |
||
|---|---|---|
| .. | ||
| _completion | ||
| _lib | ||
| demo_email | ||
| add_hwfit_models.py | ||
| agent_migration_manifest.py | ||
| backfill_model_release_dates.py | ||
| check-docker-amd-gpu.sh | ||
| check-docker-gpu.sh | ||
| claim_ownerless.py | ||
| diffusion_server.py | ||
| encode_previews.sh | ||
| fix_paths.py | ||
| hf_download.py | ||
| import_from_vllm_recipes.py | ||
| index_documents.py | ||
| migrate_faiss_to_chroma.py | ||
| migrate_searxng_settings.py | ||
| mlx_image_server.py | ||
| odysseus | ||
| odysseus-backup | ||
| odysseus-calendar | ||
| odysseus-contacts | ||
| odysseus-cookbook | ||
| odysseus-docs | ||
| odysseus-gallery | ||
| odysseus-logs | ||
| odysseus-mail | ||
| odysseus-mcp | ||
| odysseus-memory | ||
| odysseus-notes | ||
| odysseus-personal | ||
| odysseus-preset | ||
| odysseus-research | ||
| odysseus-sessions | ||
| odysseus-signature | ||
| odysseus-skills | ||
| odysseus-tasks | ||
| odysseus-theme | ||
| odysseus-webhook | ||
| pr_blocker_audit.py | ||
| update_database.py | ||