Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.
C’est alors la barrière de la prise en main qui fait peur, et pourtant...
Les logiciels libres
L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.
Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.
Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.
Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.
- Août 2023 -
Cet article est la suite de l'article pour héberger une instance Mastodon.
Mastodon (<3) évolue encore avec une belle nouveautée dans sa version stable de rentrée, comme l'indique par un toot d'Eric F. :
La #recherche plein texte (contenu des toots) est disponible sur la toute dernière version du logiciel #mastodon (en version bêta, déploiement dans la branche stable prévue en septembre selon @renchap)
Encore faut-il avoir un Elasticsearch (ou son fork à licence bien plus permissive, Opensearch) d'actif à disposition. Et comme le rappelle Renaud C., Mastodon core team member (et MERCI à toute votre équipe !) :
"(…) la fonctionnalité requiert ElasticSearch (comme les fonctionnalités de recherche hors hashtag des versions précédentes).
On va clarifier la doc et indiquer plus clairement que ElasticSearch n'est plus vraiment considéré comme optionnel, vu que pas mal de fonctionnalités vont dépendre dessus."
Car, peut-être comme moi, vous vous êtes dits qu'Elasticsearch est (1) consommateur (pour mon NUC) ; (2) parfois un peu "subtil" (pénible) à administrer, pour assez peu d’intérêts lorsque vous êtes sur de très petites instances comme la mienne (mono-usager). Vous auriez volontairement zappé ce point…
Hélas il faut désormais se mettre à la page !
Voici les modifications à apporter afin de préparer l'environnement de cette nouvelle version. D'abord avec l'ajout du service concerné dans docker-compose.yml
:
es01:
container_name: es01
image: elasticsearch:8.9.1
volumes:
- ./elasticsearch8:/usr/share/elasticsearch/data
environment:
- "node.name=es01"
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" # à adapter
- "ELASTIC_PASSWORD=mon_super_mot_de_passe" # à changer
`
N'hésitez pas à ajouter un healthcheck si vous le souhaitez. Attention pour le point de montage du dossier dans le conteneur, Elasticsearch écrit en root par défaut.
Puis on charge la modification :
docker compose up -d
Ce qui lancera la récupération de l'image et son instanciation. Si vous avez plusieurs réseaux Docker voire plusieurs stacks, il est possible que vous ayez des redémarrages plus larges à prévoir.
Alors on regardera que l'instance va bien :
capp@nothusserv1:~/mastodon$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
db postgres:14.6 "docker-entrypoint.s…" db 8 months ago Up 27 minutes (healthy)
es01 elasticsearch:8.9.1 "/bin/tini -- /usr/l…" es01 24 minutes ago Up 24 minutes
mastodon-sidekiq-1 tootsuite/mastodon:v4.1.4 "/usr/bin/tini -- bu…" sidekiq 23 minutes ago Up 23 minutes (healthy) 3000/tcp, 4000/tcp
mastodon-streaming-1 tootsuite/mastodon:v4.1.4 "/usr/bin/tini -- no…" streaming 23 minutes ago Up 23 minutes (healthy) 3000/tcp, 127.0.0.1:4000->4000/tcp
mastodon-web-1 tootsuite/mastodon:v4.1.4 "/usr/bin/tini -- ba…" web 23 minutes ago Up 23 minutes (healthy) 3000/tcp, 4000/tcp
redis redis:7-alpine "docker-entrypoint.s…" redis 58 minutes ago Up 27 minutes (healthy)
Je vous conseille aussi de surveiller les journaux d'Elasticsearch (attention les yeux) :
docker compose logs es01
Vous pouvez également vérifier que l'instance ES tourne correctement en demandant le statut (comme pour un healthcheck), directement dans le conteneur visé :
julien@julien-Vostro-7580:~/Developpement/mastodon/article$ docker compose exec -it -u root es01 bash
root@a0276a607959:/usr/share/elasticsearch# curl -u elastic:mon_super_mot_de_passe http://es01:9200
{
"name" : "es01",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "***-***",
"version" : {
"number" : "8.9.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "***",
"build_date" : "***",
"build_snapshot" : false,
"lucene_version" : "9.7.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
Parfait !
On modifiera alors le fichier .env.production
pour que l'instance la prenne en compte, en prenant garde à ce que le nom résolvable de votre conteneur soit bien déclaré dans ES_HOST
(ici c'est "es01") :
# Elasticsearch (optional)
# ------------------------
ES_ENABLED=true
ES_HOST=es01
ES_PORT=9200
# Authentication for ES (optional)
ES_USER=elastic
ES_PASS=mon_super_mot_de_passe
Ce qui va nous obligé à redémarrer (pas la peine de recréer) le conteneur Mastodon, ici s'appelant "web" :
docker compose restart web
Enfin vous pouvez rentrer dedans pour demander la création de l'index. Cela prend un peu de temps, soyez patient :
julien@julien-Vostro-7580:~/Developpement/mastodon/article$ docker compose exec -it -u root web bash
root@21a0039cfad6:/opt/mastodon# RAILS_ENV=production bin/tootctl search deploy
Done! 100529/100529 |=========================================================================================================================================================================================| Time: 00:00:17 (5913 docs/s)
Indexed 74684 records, de-indexed 0
Voilà, votre instance a sa propre indexation, comme une grande. Dans mon cas, les index nouvellement créés représentent 17 Mo au démarrage sur le disque, 4% de mon CPU et près d'1 Go de RAM - mais garder à l'esprit que mon instance est mono-utilisateur : cela peut être considérablement plus ! Laissez toujours Elasticsearch "souffler" et avoir du rab', il peut vite être erratique en cas de stress de ressources.
Évidemment on n'expose jamais son instance Elasticsearch au reste du monde, particulièrement avec aussi peu de sécurité que je viens de le décrire. Si vous avez un doute, n'hésitez jamais à demander dans un forum : mieux vaut s’embêter une heure avant, que tout perdre après !
Vivement la rentrée…
Commentaires :
voir le flux Atom
ouvrir dans le navigateur
LinuxFr.org : Journaux
Téléphone sous Linux ?
- 25 avril -
Aujourd'hui, avoir un téléphone avec un Android libéré, c'est possible, on pense en particulier à Murena.Avoir un téléphone sous GNU/Linux, c'est (...)
Quand votre voiture vous espionne… et vous le fait payer
- 23 avril -
Ceci se passe aux États-Unis, pour l’instant, aucune preuve qu’une telle fuite existe en Europe. Mais… si votre assurance augmente brutalement, (...)
firefox, nouvelle fenêtre dans une session isolée
- 15 avril -
Les fenêtres de navigation privées de firefox partagent leurs cookies de session or je souhaitais avoir des fenêtres de navigation isolées, (qui ne (...)
Pretendo tente de déprogrammer l'obsolescence des consoles Nintendo
- 9 avril -
Ah Nal,Gros N vient de faire un gros doigt aux utilisateurs de ses consoles 3DS et Wii U en annonçant la fermeture des services en ligne pour (...)
[Trolldi] Vulgarisation sur l'IA pour décideur pressé
- 5 avril -
Cher 'Nal,Je fais un article-marque-page sur un post tout frais de Ploum où il est question d'un fantasme vieux comme le Talmud avec le Golem. (...)