Skip to main content

Yacy

Won't work as a stack, need to run in CLi.

Don't change --v
Check the image you want to use.

docker run -d --name yacy_search_server -p 8090:8090 -p 8443:8443 -v yacy_search_server_data:/opt/yacy_search_server/DATA --restart unless-stopped --log-opt max-size=200m --log-opt max-file=2 yacy/yacy_search_server:armv7-latest

Créer un mot de passe admin


Méthode A — (recommandée) Exécuter le script passwd.sh dans le conteneur
  1. Ouvre un shell dans le conteneur :

docker exec -it yacy_search_server bash

(si bash n’existe pas, remplacer bash par sh)

  1. Lance le script pour définir le mot de passe (remplace NouveauMotDePasse par ton mot de passe) :

cd /opt/yacy_search_server
./bin/passwd.sh NouveauMotDePasse
  1. Sortir et redémarrer le conteneur :

exit
docker restart yacy_search_server
  1. Teste l’accès : ouvre http://localhost:7090/ConfigAccounts_p.html et connecte-toi avec :

  • Nom d’utilisateur : admin

  • Mot de passe : NouveauMotDePasse


Méthode B — Exécuter passwd.sh depuis l’hôte sans entrer dans le conteneur

(Utile si tu préfères une commande unique)

docker run --rm -v yacy_search_server_data:/opt/yacy_search_server/DATA yacy/yacy_search_server:aarch64-latest /opt/yacy_search_server/bin/passwd.sh NouveauMotDePasse

Si le volume a des problèmes de permissions et que le conteneur ne peut pas écrire dans /opt/.../DATA, ajoute --user 0 pour exécuter en root (temporaire) :

docker run --rm --user 0 -v yacy_search_server_data:/opt/yacy_search_server/DATA yacy/yacy_search_server:aarch64-latest /opt/yacy_search_server/bin/passwd.sh NouveauMotDePasse

Après ça, redémarre ton conteneur habituel :

docker restart yacy_search_server

Méthode C — Vérifier / éditer directement le fichier de config (avancé)

Le script écrit dans DATA/SETTINGS/yacy.conf une valeur adminAccountBase64MD5. Si tu veux vérifier ce qui est actuellement configuré :

  1. Voir le contenu du fichier (depuis l’hôte) :

docker exec -it yacy_search_server cat /opt/yacy_search_server/DATA/SETTINGS/yacy.conf | grep adminAccountBase64MD5 -n
  1. Si tu veux supprimer l’entrée (pour forcer YaCy à se retrouver sans admin — risqué : tu seras en mode non-protégé), fais une sauvegarde puis édite/supprime la ligne. Par exemple (dans le conteneur) :

docker exec -it yacy_search_server bash
cd /opt/yacy_search_server/DATA/SETTINGS
cp yacy.conf yacy.conf.bak
# puis édite avec vi/nano si présent, ou utilise sed pour supprimer la ligne (attention)

Je ne recommande pas d’éditer manuellement si tu n’es pas à l’aise — préfère passwd.sh.


Si passwd.sh échoue à cause de permissions

Si tu obtiens des erreurs Permission denied lors de l’exécution du script, fais d’abord une vérification rapide des permissions du volume :

# lister quelques fichiers avec UID/GID numériques
docker run --rm -v yacy_search_server_data:/data alpine ls -ln /data/DATA/SETTINGS || docker run --rm -v yacy_search_server_data:/data alpine ls -ln /data/SETTINGS

Si on voit des fichiers appartenant à un UID différent et que YaCy ne peut pas écrire, corrige la propriété :

docker run --rm -v yacy_search_server_data:/data busybox chown -R 1000:1000 /data

(puis relance la Méthode B ou redémarre ton conteneur)


Vérifications / logs après modification

Après avoir défini le mot de passe et redémarré :

docker restart yacy_search_server
docker logs -f yacy_search_server

Cherche dans les logs des messages de démarrage réussis et l’absence de 401 pour la page d’administration.


Récapitulatif rapide — commandes à copier-coller (méthode B, la plus simple)

# 1) définir le mot de passe depuis l'hôte (variante normale)
docker run --rm -v yacy_search_server_data:/opt/yacy_search_server/DATA yacy/yacy_search_server:aarch64-latest /opt/yacy_search_server/bin/passwd.sh MonNouveauMdP

# si échec pour permissions, réessayez en root
docker run --rm --user 0 -v yacy_search_server_data:/opt/yacy_search_server/DATA yacy/yacy_search_server:aarch64-latest /opt/yacy_search_server/bin/passwd.sh MonNouveauMdP

# 2) redémarrer votre container principal
docker restart yacy_search_server

# 3) suivre les logs pour vérifier
docker logs -f yacy_search_server