Utiliser pg_dump avec Docker

Je suis en train de migrer Tiny Tiny RSS depuis AWS vers un serveur dédié. Pour ce faire j'essaie d'effectuer un dump de la base de donnée (stockée dans RDS) depuis une machine Debian Buster. Malheureusement pg_dump échoue car la version fournie par Debian est trop ancienne !

% pg_dump -h db2.ezvan.fr -U ttrss -W ttrss > ttrss-20220102.sql
Password: 
pg_dump: server version: 12.7; pg_dump version: 11.14 (Debian 11.14-0+deb10u1)
pg_dump: aborting because of server version mismatch
zsh: exit 1     pg_dump -h db2.ezvan.fr -U ttrss -W ttrss > ttrss-20220102.sql

Docker à la rescousse

Je pourrais mettre à jour ma version de Debian pour obtenir un version plus récente de pg_dump, mais une telle migration serait chronophage. Une solution plus simple est d'utiliser Docker pour exécuter la version de pg_dump qui convient.

Installation de Docker

Attention sous Debian le nom du paquet Docker est docker.io !

sudo apt install docker.io

J'ajoute mon utilisateur au groupe docker. Je me reconnecte ensuite afin d'utiliser les nouvelles permissions.

sudo usermod -aG docker user

Je démarre le démon Docker.

sudo systemctl start docker

Lancer pg_dump

Je lance pg_dump dans un conteneur Docker. J'utilise l'image postgres en spécifiant la version …

plus ...

Debian 9 et IPv6 sur AWS EC2

Ce week-end j'ai configuré IPv6 sur mon infrastructure EC2 qui tourne sous Debian 9. J'ai suivi le guide fourni par AWS, mais j'ai rencontré quelques soucis, et ce guide n'a pas d'instructions pour Debian. Je vous conseille fortement de réaliser ces changements d'abord sur des instances de tests, car mes premiers essais ont rendus mes instances totalement injoignables, heureusement que ce n'étaient pas celles de prod !

Au début j'ai simplement configuré /etc/network/interfaces de la façon suivante afin d'utiliser dhcp pour IPv6:

% cat /etc/network/interfaces# 
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp

Mais après un redémarrage mon instance de test n'arrivait pas à configurer le réseau, et était donc injoignable et inutilisable. Après quelques tests, j'ai réalisé que le problème venait du cient DHCP installé, qui était dhcpcd. Apparemment le paquet installé sur mon système était une relique de Debian 7, car il n'est pas disponible pour les versions ultérieures ! Je l'ai donc remplacé par isc-dhcp-client.

% sudo apt install isc-dhcp-client isc-dhcp-common
% sudo apt remove dhcpcd

Après un redémarrage, tout fonctionne, mon instance obtient son adresse IPv6 !

plus ...

Tiny Tiny RSS : un lecteur de flux RSS web

Pour lire mes flux RSS, j'utilise actuellement Liferea. Malheureusement, il me manque une solution de synchronisation entre ses différentes instances sur mes différents ordinateurs. Sur la page web de Liferea, je vis qu'il supportait la synchronisation vers Tiny Tiny RSS. Par curiosité j'installai donc ce logiciel. Son installation nécessite un base PostgreSQL ou MySQL. J'optai pour une base PostgreSQL pour découvrir un peu plus ce produit. Après quelques prises de tête avec le droits, je réussis à faire marcher l'ensemble. Le tutoriel d'installation pour Debian m'aida à configurer le démon de mise à jour des flux. Voilà, Tiny Tiny RSS est maintenant prêt à être utilisé, vous pouvez en voir quelques captures d'écran sur ce blog. Voici mes impressions après quelques minutes d'utilisation :

  • Interface agréable quoique les couleurs du thème ne me plaisent pas trop, à voir si d'autres thèmes existent ?
  • Il est possible d'organiser les flux par catégorie, mais pas de faire des sous catégories, ce qui me manque beaucoup.
  • Il me manque également la vue pour écran large, avec trois colonnes verticales.
  • Je n'ai pas trouvé la fonctionnalité d'export dans Liferea, pour l'instant j'exporte manuellement le fichier OPML de Liferea.
  • L'interface est rapide, contrairement à Liferea qui a …
plus ...

Changement de mot de passe sur le serveur

Depuis la migration et l'utilisation d'un serveur LDAP pour gérer les comptes des utilisateurs, il n'était plus possible de changer de mot de passe avec passwd.

Le problème venait de la configuration par défaut de Debian Squeeze. Dans le fichier /etc/pam/common-password, il faut remplacer :

password [success=2 default=ignore] pam_unix.so obscure sha512

password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass

par :

password [success=2 default=ignore] pam_unix.so obscure sha512

password [success=1 user_unknown=ignore default=die] pam_ldap.so try_authtok try_first_pass

plus ...

Synchronisation de calendriers et de contacts

Vendredi dernier, j'ai complétement oublié une réunion. Honte à moi ! Ce petit imprévu m'a fait réaliser qu'il me fallait absoluement une solution pour gérer mon calendrier. J'ai donc cherché comment réaliser cela, avec les contraintes suivantes :

  • Utilisable avec de nombreux clients pour être accessible de partout, la liste de clients de test étant la suivante :

    - Evolution (groupware sous Linux que j'utilise) - Korganizer (un autre) - Un webmail comme Horde ou Roundcube - Iphone (oui c'est mon téléphone pro) - Libre - Déployable sur ezvan.fr - Ne pas être une usine à gaz

Bien sûr ces critères éliminent les services de Google et consorts. Pas mal de groupware répondent à la plupart des critères, mais généralement ce sont des usines à gaz qui en font trop pour ce que je veux, et qui imposent leur solution de messagerie, et il est hors de question de remplacer la solution de mail actuelle. J'ai donc trouvé un serveur plutôt léger, qui permet de synchroniser des calendriers avec le protocol CalDav, et des contacts avec le protocol CardDav, c'est DAViCal.

Les format utilisés, sont comme l'indiquent les noms de protocoles, les formats iCal (créé par Apple, bouh) et vCard. Ces formats me semblent assez bien supportés par les …

plus ...