la version de ton linux est vieille, peut-etre qu'il ne part pas en NFSv4 mais en v3 ou bien certaines options ne sont pas possibles justement à cause de son age
J'indique dans le fstab d'utiliser nfs4, si il le ne gérait pas je pense que j'aurai une erreur comme quoi le protocole n'est pas supporté ? il est clair que c'est vieux mais j'ai tout les outils getfacl et il marche en plus :)
getfacl /tmp
getfacl : suppression du premier « / » des noms de chemins absolus
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
Un téléphone fixe DECT… mince le mien ne doit plus avoir de pile depuis 5 ans !
D'ailleurs je pense que le chien l'a transformé en une bouillit pré-mâché et l'a probablement subtilement glissé sous le canapé pour que personne ne s’aperçoive de sa bêtise… Oui mon chien est intelligent et je ne passe pas souvent l'aspirateur sous le canapé !
Suis-je le seul supris de voir un projet avec un script de backup et absolument rien pour décrire le process de restoration des données?
Pour faire la restauration tu utilise BackupPC, mon script permet juste d'extraire des données des containers pour les intégrer dans un processus global de sauvegarde de BackupPC. Dans mon cas j'utilise BackupPC pour Docker, pour des fichiers utilisateurs, pour d'autres bases mysql… Le jour où j'ai besoin de faire une restauration je n'ai pas à me demander par quel outil la sauvegarde est faite et comment cela marche. Des restaurations on en fait pas tout les jours ;)
Soit dit en passant GLPI est le cas typique d'une appli qui peut souffrir de quelques secondes d'arrêt chaque nuit et pour laquelle il y a peu de chance de vouloir restaurer seulement quelques lignes ou une table. Et ils semble que les volumes semblent être des bind mounts de répertoires de la machine hôte.
J'ai proposé GLPI, mais ce n'est qu'un exemple, remplace le par ce que tu veux avec ces propres contraintes. Ta proposition est bonne mais comment faire lorsque tu as un container qu'il est totalement impossible de mettre en pause ?
L'avantage c'est qu'il n'y a quasi aucun scripting, que t'es absolument sûr que le volume de ta db et du reste de l'appli sont cohérents. Avec ta méthode je ne vois rien qui garantie la cohérence entre le dump mysql et les fichiers copiés. Donc à la restauration tu peux te retrouver avec des fichiers uploadés qui ne sont pas référencés en DB et avoir des trucs pas propres..
Ça oui et effectivement, sauf à mettre en pause ou arrêter le container il n'y a pas de solution. Mais toujours même problème, comment faire pour un container qu'il n'est pas possible d'arrêter ?
Du reste en utilisant des vrais volumes plutôt que des bind mounts tu pourrais bénéfichier des capacités de snapshots de docker et faire des backups sur des clones.
J'utilise de vrai volume au quotidien. Si je ne l'ai pas fais dans mon exemple c'est par simplicité et aussi en scriptant la copie des fichiers hors du container on s'affranchit de devoir créer un volume par container.
Tout dépend du container. Pour le cas de GLPI cela serait les fichiers uploader (factures, contrats…). J'avoue ne pas avoir penser à la solution de sauvegarder le répertoire contenant le volume sur l'hôte. J'ai rapidement été voir et c'est quand même un jolie sac dans le répertoire /var/lib/docker/overlay2. Il y a autant de répertoires que de volumes et comme ça il est difficile de savoir qui appartient à qui. Sans compter les volumes fantômes qui peuvent exister.
GLPI n'était qu'un exemple et l'idée est d'avoir quelques choses de réutilisable pour d'autres container.
Pour mysql il est clair qu'il est impossible de copier les fichiers plats, passer par mysqldump permet de mettre un lock le temps de l'export.
Je ne connaissais pas Bivac, d'après ce que je comprends c'est uniquement pour les volumes.
BackupPC n'est pas dédié à la sauvegarde Docker, c'est un outil de sauvegarde au sens large. J'ai juste fais un script de pre-backup executé par BackupPC.
Version corrigé, il y avait un problème avec le mv qui n'aimais pas trop les espaces dans le nom de fichier initial.
for e in ./*
do# calcul le nouveau nom en replaçant les espaces par _ et PDF par pdfnouveau_nom=`echo$(basename "$e")| tr "[:blank:]""_"| tr "PDF""pdf"`# extrait l'extensionextension=${nouveau_nom##*.}# renomme sous la nouvelle nomenclature
mv "$(basename "$e")"$nouveau_nom# regarde si c'est un PDF et l'imprimeif[${extension}="pdf"]then
rlpr --printer=${PRINTER}$nouveau_nomfi# efface la piece jointe
rm -f $nouveau_nomdone
Dans mon container je lance toute les x minutes getmail par cette commande
#!/bin/shTIMECRON1=${TIMECRON:-300}while :
do
getmail --getmaildir=/etc/mail2print --rcfile=getmail.conf
sh /bin/printmail.sh
sleep $TIMECRON1done
getmail "copie" les mails dans le répertoire Mail/new, efface le mail de INBOX pour le copier dans INBOX.INBOX.archives
Ensuite le script suivant extrait les fichiers joints, lance l'impression et fait le ménage dans les répertoires.
#!/bin/bash# ParametersMAILDIR=/home/mail2print/Mail
LOGFILE=/var/log/mail/mail2print.log
ATTACH_DIR=/home/mail2print/Mail/attachments
PRINTER=${PRINTER}if[ -d ${MAILDIR}/new ]thenCOUNT=`ls ${MAILDIR}/new | wc -l`if[${COUNT} -ne 0]thenfor i in ${MAILDIR}/new/*
do#echo "[printmail] Processing : $i" | tee -a ${LOGFILE}
uudeview $i -iqn -p ${ATTACH_DIR}/
# process file attachments with spacecd${ATTACH_DIR}NBATTACH=`ls ${ATTACH_DIR}| wc -l`if[${NBATTACH} -ne 0]thenfor e in ./*
doa=`echo$e| tr "[:blank:]""_"`if[$? -eq 0]then
mv "$e""$a"fidonefor f in *.PDF
do
mv $f${f%.*}.pdf
done# end of patch#echo "[printmail] Printing PDFs" | tee -a ${LOGFILE}for x in ${ATTACH_DIR}/*.pdf
do#echo "[printmail] Printing : $x" | tee -a ${LOGFILE}
rlpr --printer=${PRINTER}$x#echo "[printmail] Deleting file : $x" | tee -a ${LOGFILE}
rm -f $x| tee -a ${LOGFILE}done#echo "[printmail] Clean up and remove any other attachments" | tee -a ${LOGFILE}for y in ${ATTACH_DIR}/*
do
rm -f $ydonefi# # delete mail#echo "[printmail] Deleting mail : $i" | tee -a ${LOGFILE}
rm $i| tee -a ${LOGFILE}donefifi
Faut que j'intègre la suppression du fichier log tout les x jours et éventuellement une purge du dossier INBOX.INBOX.archives tout les x mois.
Au final j'utilise un seul programme getmail totalement intégré au système. Je vais voir pour publier tout ça sur docker hub et github.
La gestion des pièces jointes est faite par un script shell qui va gratter dans le répertoire $USER/Mail. Il mérite encore quelques améliorations mais en l'état il fait le taff.
J'ai déjà fais quelques bricoles en python et j'ai vraiment du mal à me faire à ce langage. Mon idée était de rester sur des programmes systèmes (fetchmail, procmail…) scriptable pour rester simple et ne pas re-inventer la roue.
D'après ce que j'ai compris --folder de fetchmail permet de dire quel "répertoire" aller relever, donc le répertoire doit être existant dans la BAL. Dans mon cas les nouveaux mails doivent rester à la racine et doivent être déplacé uniquement après traitement (impression).
fetchmail.conf
set no syslog
set logfile /var/log/mail/mail2print.log
set postmaster "fetchmail"
poll ssl0.ovh.net
protocol imap
port 993
user "XXX@xxxx"
password "passs"
ssl
mda "/usr/bin/procmail -m '/etc/mail2print/procmail.conf'";
Il me semble que keepass et les déclinaisons ne sont pas vraiment multi-utilisateurs et sur le site je n'ai pas vu la notion de partage de mot de passe.
Je comprends un peu mieux, mais cela oblige à structurer les collections. Alors qu'un partage du mot de passe à un utilisateur est plus simple à gérer.
Mais si je veux partager un seul mot de passe avec un utilisateur, suis-je tout de même obligé de créer une collection ?
Imaginons que je créé une collection "Système" que je partage avec un collègue. J'ajoute 3 mots de passes. Je dois aussi partager l'un de ces mots de passes avec un autre collègue mais il n'a pas à avoir accès au 2 autres. Cela m'oblige à créer une collection "Système 2" contenant uniquement le mot de passe pour cet autre collègue ?
Salut, ce matin un petit test et cette phrase m'a traversé l'esprit : "Mais qu'elle est cette magie !?" Car ce matin sans rien de plus cela marche sans problème.
Le certificat est bien reconnu par firefox et plus d'erreur dans les logs de traefik.
En fait non j'ai un domaine public en .fr et un domaine local. Sur mon DNS local j'ai une zone pour ma zone local.
Pour le cas traefik et let's encrypt j'ai créé une zone pour mon domaine public qui contient les NS d'OVH (le domaine est hébergé par OVH).
Dans le fichier zone il y a quelques CNAME et ensuite un
*.dompublic.fr. A IP_SERVER_DOCKER De cette manière les utilisateurs de mon réseau local accède à un service docker par l'url : service.dompublic.fr
Ils sont redirigés vers traefik et le service correspond grâce au label Host('service.dompublic.fr'). Jusque là tout est ok, sauf que je n'arrive pas à faire en sorte que traefik créé le certificat lorsque je passe en https. Pourtant j'ai ajouté l'enregistrement TXT acme-challenge, j'ai créé les clés d'accès à l'API ovh pour que traefik communique directement (j'ai testé ces même codes en php est cela me créé bien les enregistrements dans le dns d'ovh).
Dans les logs de traefik j'ai
traefik | time="2021-10-13T17:19:06+02:00" level=debug msg="legolog: [INFO] [password.dompublic.fr] acme: Waiting for DNS record propagation."
traefik | time="2021-10-13T17:19:16+02:00" level=debug msg="Delaying 5000000000 rather than validating DNS propagation now." providerName=le.acme
traefik | time="2021-10-13T17:19:21+02:00" level=debug msg="legolog: [INFO] [password.dompublic.fr] acme: Waiting for DNS record propagation."
traefik | time="2021-10-13T17:19:31+02:00" level=debug msg="legolog: [INFO] [password.dompublic.fr] acme: Cleaning DNS-01 challenge"
traefik | time="2021-10-13T17:19:35+02:00" level=debug msg="legolog: [INFO] Deactivating auth: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/698992128"
traefik | time="2021-10-13T17:19:35+02:00" level=error msg="Unable to obtain ACME certificate for domains \"password.dompublic.fr\": unable to generate a certificate for the domains [password.dompublic.fr]: error: one or more domains had a problem:\n[password.dompublic.fr] time limit exceeded: last error: NS dns11.ovh.net. returned NXDOMAIN for _acme-challenge.password.dompublic.fr.\n" providerName=le.acme routerName=password@docker rule="Host(`password.dompublic.fr`)"
[^] # Re: gagne du temps
Posté par Philippe M (site web personnel) . En réponse au message NFS et ACL. Évalué à 2.
A priori c'est géré par la baie dès l'activation du nfs4 : https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwiRmdON1av0AhWISPEDHfMXBiwQFnoECAsQAQ&url=https%3A%2F%2Fwww.netapp.com%2Fmedia%2F10720-tr-4067.pdf&usg=AOvVaw0XSonXBgCaPifhhYMGmtpz page 45
J'indique dans le fstab d'utiliser nfs4, si il le ne gérait pas je pense que j'aurai une erreur comme quoi le protocole n'est pas supporté ? il est clair que c'est vieux mais j'ai tout les outils getfacl et il marche en plus :)
Born to Kill EndUser !
[^] # Re: anti spam ?
Posté par Philippe M (site web personnel) . En réponse au journal Pourquoi Bloctel et les lois contre le démarchage téléphonique ne servent plus à rien. Évalué à 5. Dernière modification le 18 novembre 2021 à 11:27.
Un téléphone fixe DECT… mince le mien ne doit plus avoir de pile depuis 5 ans !
D'ailleurs je pense que le chien l'a transformé en une bouillit pré-mâché et l'a probablement subtilement glissé sous le canapé pour que personne ne s’aperçoive de sa bêtise… Oui mon chien est intelligent et je ne passe pas souvent l'aspirateur sous le canapé !
Born to Kill EndUser !
[^] # Re: quid de la restauration?
Posté par Philippe M (site web personnel) . En réponse au journal Sauvegarder le contenu d’un container Docker avec BackupPC. Évalué à 2.
Pour faire la restauration tu utilise BackupPC, mon script permet juste d'extraire des données des containers pour les intégrer dans un processus global de sauvegarde de BackupPC. Dans mon cas j'utilise BackupPC pour Docker, pour des fichiers utilisateurs, pour d'autres bases mysql… Le jour où j'ai besoin de faire une restauration je n'ai pas à me demander par quel outil la sauvegarde est faite et comment cela marche. Des restaurations on en fait pas tout les jours ;)
J'ai proposé GLPI, mais ce n'est qu'un exemple, remplace le par ce que tu veux avec ces propres contraintes. Ta proposition est bonne mais comment faire lorsque tu as un container qu'il est totalement impossible de mettre en pause ?
Ça oui et effectivement, sauf à mettre en pause ou arrêter le container il n'y a pas de solution. Mais toujours même problème, comment faire pour un container qu'il n'est pas possible d'arrêter ?
J'utilise de vrai volume au quotidien. Si je ne l'ai pas fais dans mon exemple c'est par simplicité et aussi en scriptant la copie des fichiers hors du container on s'affranchit de devoir créer un volume par container.
Born to Kill EndUser !
[^] # Re: Quelque chose qui m'échappe
Posté par Philippe M (site web personnel) . En réponse au journal Sauvegarder le contenu d’un container Docker avec BackupPC. Évalué à 2.
Tout dépend du container. Pour le cas de GLPI cela serait les fichiers uploader (factures, contrats…). J'avoue ne pas avoir penser à la solution de sauvegarder le répertoire contenant le volume sur l'hôte. J'ai rapidement été voir et c'est quand même un jolie sac dans le répertoire /var/lib/docker/overlay2. Il y a autant de répertoires que de volumes et comme ça il est difficile de savoir qui appartient à qui. Sans compter les volumes fantômes qui peuvent exister.
GLPI n'était qu'un exemple et l'idée est d'avoir quelques choses de réutilisable pour d'autres container.
Pour mysql il est clair qu'il est impossible de copier les fichiers plats, passer par mysqldump permet de mettre un lock le temps de l'export.
Born to Kill EndUser !
[^] # Re: typo
Posté par Philippe M (site web personnel) . En réponse au journal Sauvegarder le contenu d’un container Docker avec BackupPC. Évalué à 2.
Merci.
Born to Kill EndUser !
[^] # Re: Dans le même genre
Posté par Philippe M (site web personnel) . En réponse au journal Sauvegarder le contenu d’un container Docker avec BackupPC. Évalué à 3.
Je ne connaissais pas Bivac, d'après ce que je comprends c'est uniquement pour les volumes.
BackupPC n'est pas dédié à la sauvegarde Docker, c'est un outil de sauvegarde au sens large. J'ai juste fais un script de pre-backup executé par BackupPC.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2. Dernière modification le 22 octobre 2021 à 15:01.
Version corrigé, il y avait un problème avec le mv qui n'aimais pas trop les espaces dans le nom de fichier initial.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
Effectivement, c'est bien plus propre comme tu le propose.
Merci.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
Et voilà le petit dépôt qui va bien pour les warrior : https://github.com/Philippe-M/mail2print
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
s/getmail m'a souvent/getmail m'a sauvé/
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
getmail m'a souvent, je te laisse voir plus bas le montage fait.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 4. Dernière modification le 22 octobre 2021 à 11:19.
Nikel avec getmail
fichier de config
Dans mon container je lance toute les x minutes getmail par cette commande
getmail "copie" les mails dans le répertoire Mail/new, efface le mail de INBOX pour le copier dans INBOX.INBOX.archives
Ensuite le script suivant extrait les fichiers joints, lance l'impression et fait le ménage dans les répertoires.
Faut que j'intègre la suppression du fichier log tout les x jours et éventuellement une purge du dossier INBOX.INBOX.archives tout les x mois.
Au final j'utilise un seul programme getmail totalement intégré au système. Je vais voir pour publier tout ça sur docker hub et github.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 3.
La gestion des pièces jointes est faite par un script shell qui va gratter dans le répertoire $USER/Mail. Il mérite encore quelques améliorations mais en l'état il fait le taff.
J'ai déjà fais quelques bricoles en python et j'ai vraiment du mal à me faire à ce langage. Mon idée était de rester sur des programmes systèmes (fetchmail, procmail…) scriptable pour rester simple et ne pas re-inventer la roue.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
L'idée de sortir mon python m'a traversé l'esprit mais je trouve dommage de tout refaire "juste" à cause d'un problème de déplacement de mail.
imap-cli a l'air d'être à l'arrêt et il ne me semble pas gérer les pièces jointes.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
D'après ce que j'ai compris --folder de fetchmail permet de dire quel "répertoire" aller relever, donc le répertoire doit être existant dans la BAL. Dans mon cas les nouveaux mails doivent rester à la racine et doivent être déplacé uniquement après traitement (impression).
fetchmail.conf
procmail.conf
J'ai comme l'impression que fetchmail n'est pas capable d'envoyer des commandes, autre que pour relever les mails, au serveur.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
Ok merci je vais regarder tout ça.
Born to Kill EndUser !
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 2.
Effectivement je me connecte en imap mais je ne vois pas comment passer les commandes depuis mon container ?
Born to Kill EndUser !
[^] # Re: Keepass
Posté par Philippe M (site web personnel) . En réponse au message Gestionnaire de mots de passes. Évalué à 3.
Ok donc pas du tout adapté notre usage.
Born to Kill EndUser !
[^] # Re: Keepass
Posté par Philippe M (site web personnel) . En réponse au message Gestionnaire de mots de passes. Évalué à 2.
Il me semble que keepass et les déclinaisons ne sont pas vraiment multi-utilisateurs et sur le site je n'ai pas vu la notion de partage de mot de passe.
Born to Kill EndUser !
[^] # Re: collections
Posté par Philippe M (site web personnel) . En réponse au message Gestionnaire de mots de passes. Évalué à 2.
Je comprends un peu mieux, mais cela oblige à structurer les collections. Alors qu'un partage du mot de passe à un utilisateur est plus simple à gérer.
Je continue les tests.
Born to Kill EndUser !
[^] # Re: collections
Posté par Philippe M (site web personnel) . En réponse au message Gestionnaire de mots de passes. Évalué à 2.
Mais si je veux partager un seul mot de passe avec un utilisateur, suis-je tout de même obligé de créer une collection ?
Imaginons que je créé une collection "Système" que je partage avec un collègue. J'ajoute 3 mots de passes. Je dois aussi partager l'un de ces mots de passes avec un autre collègue mais il n'a pas à avoir accès au 2 autres. Cela m'oblige à créer une collection "Système 2" contenant uniquement le mot de passe pour cet autre collègue ?
Born to Kill EndUser !
[^] # Re: utiliser une machine qui a acces à internet
Posté par Philippe M (site web personnel) . En réponse au message Traefik et tls pour réseau local. Évalué à 2.
Salut, ce matin un petit test et cette phrase m'a traversé l'esprit : "Mais qu'elle est cette magie !?" Car ce matin sans rien de plus cela marche sans problème.
Le certificat est bien reconnu par firefox et plus d'erreur dans les logs de traefik.
En tout cas merci pour ton aide.
Born to Kill EndUser !
[^] # Re: utiliser une machine qui a acces à internet
Posté par Philippe M (site web personnel) . En réponse au message Traefik et tls pour réseau local. Évalué à 2.
En fait non j'ai un domaine public en .fr et un domaine local. Sur mon DNS local j'ai une zone pour ma zone local.
Pour le cas traefik et let's encrypt j'ai créé une zone pour mon domaine public qui contient les NS d'OVH (le domaine est hébergé par OVH).
Dans le fichier zone il y a quelques CNAME et ensuite un
De cette manière les utilisateurs de mon réseau local accède à un service docker par l'url : service.dompublic.fr*.dompublic.fr. A IP_SERVER_DOCKER
Ils sont redirigés vers traefik et le service correspond grâce au label Host('service.dompublic.fr'). Jusque là tout est ok, sauf que je n'arrive pas à faire en sorte que traefik créé le certificat lorsque je passe en https. Pourtant j'ai ajouté l'enregistrement TXT acme-challenge, j'ai créé les clés d'accès à l'API ovh pour que traefik communique directement (j'ai testé ces même codes en php est cela me créé bien les enregistrements dans le dns d'ovh).
Dans les logs de traefik j'ai
Et bien sûr rien côté dns ovh.
/etc/traefik/traefik2.yml
docker-compose.yml de traefik
docker-compose.yml de vaultwarden
Si tu as une idée de la provenance du problème je suis preneur.
Born to Kill EndUser !
[^] # Re: utiliser une machine qui a acces à internet
Posté par Philippe M (site web personnel) . En réponse au message Traefik et tls pour réseau local. Évalué à 3.
Pour le moment j'ai testé passbolt et vaultwarden qui un fork de Bitwarden.
Born to Kill EndUser !
[^] # Re: utiliser une machine qui a acces à internet
Posté par Philippe M (site web personnel) . En réponse au message Traefik et tls pour réseau local. Évalué à 3.
Surtout quand tu as expliqué aux utilisateurs qu'un site qui affiche ce message n'est pas sécurisé et qu'il ne faut pas y aller…
Born to Kill EndUser !