1311 private links
Super pratique cet outil pour faire une montée de version de PostgreSQL sans se prendre (trop) la tête.
J'avais un vieux container Docker qui tournait en version 9.4 pour FreshRSS. Pour la faire courte, j'ai eu des problèmes de certificat SSL au 1er octobre pour récupérer les flux RSS, j'ai voulu faire une montée de version de FreshRSS, et je me suis rendu compte que j'avais des erreurs SQL parce que la version de Postgres n'est pas supportée.
Du coup, avec cet outil, j'ai pu :
- copier le dossier de données
- faire tourner le script pour passer de 9.4 à 9.6
- remplacer le dossier de données
- on recrée le container PostgreSQL dans la bonne version
- ???
- profit
En gros ça donne
# préparation
OLD=9.4
NEW=9.6
mkdir $OLD
cp /data/postgresql-data ./9.4/data
# ici j'ai du corriger un soucis parce qu'il considérait que le serveur n'avait pas été arrêté correctement
rm 9.4/data/postmaster.pid
docker run -it --rm -v `pwd`/:/var/lib/postgresql/ tianon/postgres-upgrade:9.4-to-12 bash
> su postgres
> $PGBINOLD/pg_ctl start -w -D $PGDATAOLD
> $PGBINOLD/pg_ctl stop -w -D $PGDATAOLD
> exit
# migration
docker run --rm -v "$PWD":/var/lib/postgresql "tianon/postgres-upgrade:$OLD-to-$NEW" --link
# remplacement
mv /data/postgresql-data /data/postgresql-data.sav
cp 9.6/data /data/postgresql-data
Interesting read.
Watchtower est un container Docker qui permet de mettre à jour automatiquement les autres containers quand une nouvelle image est détectée.
À voir, ça peut éviter de se retrouver avec des versions complètement obsolète... comme la plupart de ma stack. En vrai, ça me parait un peu risqué, en sachant qu'il y souvent des problèmes nécessitant des opérations manuelles, ou le reverse proxy qui fait des siennes.
Nouvel article de blog!
Also available in 🇺🇸 Build a static blog and a publication workflow with Hugo, Github, Docker and NetlifyCMS
C'est excellent ! Maintenant je fais tout avec docker-compose
, mais il me reste pas mal de containers où j'ai des run.sh
pour répondre exactement à ce besoin.
Ça s'active chez Docker (et surtout Docker Hub), visiblement pour pousser les utilisateurs à passer en premium. Je pense qu'ils réalisent qu'ils sont assis sur une mine d'or, et qu'ils doivent cramer trop de cash sur le free tier.
Pour résumer :
- Limite de 100 pulls/6h pour les anonymes, 200/6h si loggé, illimité si pro.
- Les images inactives seront supprimées au bout de 6 mois pour les comptes gratuits. Et vu que c'est la méga-merde, cette mesure est repoussée à 2021.
During a brief period of unauthorized access to a Docker Hub database, sensitive data from approximately 190,000 accounts may have been exposed (less than 5% of Hub users). Data includes usernames and hashed passwords for a small percentage of these users, as well as Github and Bitbucket tokens for Docker autobuilds.
Chaud ! Mais je ne suis pas impacté apparemment, puisque je n'ai pas reçu d'email.
Tiens si y'en a que ça intéresse, je partage mon image Docker, faite un peu à l'arrache, qui permet de mettre à jour Shaarli en 20 secondes avec des plugins personnalisés. Ça nécessite l'image nginx-proxy
et son companion Let's Encrypt.
Attention quand même, c'est la version de dev.
Dockerfile
:
FROM shaarli/shaarli:master
WORKDIR /var/www
RUN apk --update --no-cache add git \
&& git clone https://github.com/ArthurHoaro/shaarli2twitter.git shaarli/plugins/shaarli2twitter \
&& git clone https://github.com/kalvn/shaarli-plugin-autosave.git shaarli/plugins/autosave \
&& git clone https://github.com/ArthurHoaro/code-coloration.git shaarli/plugins/code_coloration \
&& git clone https://github.com/kalvn/shaarli2mastodon shaarli/plugins/shaarli2mastodon \
&& mv shaarli/plugins/code_coloration/code_coloration/* shaarli/plugins/code_coloration/ \
&& mv shaarli/plugins/shaarli2twitter/shaarli2twitter/* shaarli/plugins/shaarli2twitter \
&& rm -rf shaarli/plugins/shaarli2twitter/shaarli2twitter \
&& chown -R nginx:nginx shaarli
EXPOSE 80
ENTRYPOINT ["/bin/s6-svscan", "/etc/services.d"]
CMD []
update.sh
(dans le même répertoire):
#!/bin/bash
docker pull shaarli/shaarli:master
docker build --no-cache -t arthurhoaro/links .
docker rm -f links
docker run -d \
-v /data/links:/var/www/shaarli/data \
-e VIRTUAL_HOST=links.hoa.ro \
-e VIRTUAL_PORT=80 \
-e LETSENCRYPT_HOST=links.hoa.ro \
-e LETSENCRYPT_EMAIL=<email> \
--restart always \
--name links \
arthurhoaro/links:latest
Et y'a plus qu'à lancer update.sh
.
Træfik is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
"De son côté, Microsoft propose depuis juin l'hébergement de silos Docker sur son cloud Azure, mais sur des machines virtuelles Linux."
Eh eh eh.