Afficher/cacher Sommaire
Tiny Tiny RSS (ttrss) est un agrégateur de flux RSS et Atom libre sous licence libre GNU GPL v3. Il s’agit d’une application web qui s’installe sur un serveur de type LAMP. Elle s’appuie notamment sur un SGBD qui peut être MySQL ou PostgreSQL, bien que ce dernier soit recommandé par la documentation officielle pour des raisons de performance et de fiabilité. Tiny Tiny RSS (ikipédia)
Machine virtuelle Debian
Création rapide machine virtuelle KVM debian 12 nocloud
Nom : ttrss
Fichier : /srv/kvm/libvirt/images/ttrss.qcow2
Mémoire : 2048 Mo
hostname : ttrss
Utilisateur : rssuser
Adresse IP statique : 192.168.0.216
Clés ssh : ttrss
Port SSH : 55216
Connexion ssh : ssh -p 55216 -i ~/.ssh/ttrss rssuser@192.168.0.216
Linux ttrss 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64
_____ _ _____ _ ___ ___ ___
|_ _|(_) _ _ _ _ |_ _|(_) _ _ _ _ | _ \/ __|/ __|
| | | || ' \| || | | | | || ' \| || | | /\__ \\__ \
|_| |_||_||_|\_, | |_| |_||_||_|\_, | |_|_\|___/|___/
|__/ |__/
_ ___ ___ _ __ ___ __ ___ _ __
/ |/ _ \|_ ) / | / / ( _ ) / \ |_ )/ | / /
| |\_, / / / _ | |/ _ \/ _ \ _| () |_ / / | |/ _ \
|_| /_/ /___|(_)|_|\___/\___/(_)\__/(_)/___||_|\___/
Last login: Fri Mar 15 12:55:06 2024 from 192.168.0.20
Docker
Installer Docker CE (Community Edition) sur Debian
Tiny Tiny RSS
Caractéristiques
- Logiciel libre, sous licence GNU GPLv3 ;
- Auto-hébergé : contrôlez vos propres données et protégez votre vie privée au lieu de dépendre de services tiers ;
- Prend en charge :
- l’agrégation de flux / la syndication,
- Raccourcis clavier,
- importation/exportation OPML,
- multiples façons de partager : exportation de flux RSS, plugins pour divers sites sociaux, partage par URL, etc,
- partage de contenu arbitraire par tt-rss,
- Plugins et thèmes,
- intégration du contenu complet d’un article via readability et des plugins spécifiques au site,
- déduplication, y compris le hachage perceptuel pour les images, podcasts,
- filtrage flexible des articles,
- API JSON, et bien plus encore…
- Client Android
Tiny Tiny RSS via docker
Vous aurez besoin des éléments suivants :
- Un navigateur web moderne. Il s’agit généralement d’un navigateur récent de type Chrome ou compatible
- Un serveur (VDS ou VPS) exécutant Docker
Guide d’installation de Docker
Tiny Tiny RSS utilise un modèle de développement continu basé sur la branche master de git qui est considérée comme stable. Si possible, vous devriez toujours utiliser le dernier code de la branche master.
Avec docker compose
La seule façon supportée d’exécuter tt-rss est sous Docker. Vous pouvez utiliser les images officielles de Docker Hub (AMD64 uniquement).
Cette installation utilise PostgreSQL et exécute tt-rss en utilisant plusieurs conteneurs.
Créer le dossier
mkdir ~/tt-rss
cd ~/tt-rss
Les fichiers environnement “.env” et “docker-compose.yml” à modifier
Lier le port exposé à 127.0.0.1 pour fonctionner derrière un proxy inverse sur le même hôte. Si vous prévoyez d’exposer le conteneur, supprimez “127.0.0.1 :” dans le fichier .env
Etendre Réduire fichier .env
Etendre Réduire fichier docker-compose.yml
Démarrez les conteneurs de services.
docker compose up -d
Mettre à jour un conteneur avec Docker Compose
L’utilisation de Docker Compose simplifie le processus de gestion des conteneurs Docker, y compris leurs mises à jour. Si vous êtes déjà familiarisé avec le téléchargement et l’utilisation des conteneurs Docker
Conditions préalables
- Persistance des données : un aspect crucial à retenir est la perte potentielle de données lors du processus de mise à jour du conteneur. Sauf si vous avez configuré des volumes persistants dans votre docker-compose.ymlfichier, la mise à jour de votre conteneur peut effacer les données qui lui sont associées. Essentiellement, cela reviendrait à reconstituer le conteneur.
- Identification des volumes persistants : Dans votre fichier Docker Compose, vous pouvez identifier les volumes persistants avec la balise volumes:
Récupérer la dernière image
accédez au répertoire de votre conteneur qui héberge le fichier Docker Compose
cd ~/tt-rss
Exécutez la commande
docker compose pull
Docker relayera une sortie indiquant s’il extrait l’image de conteneur la plus récente.
Déployer le conteneur mis à jour
avec la dernière image en remorque, déployez le conteneur en utilisant :
docker compose up -d
Proxy nginx rnmkcy.eu
Sur le serveur Lenovo rnmkcy.eu, créer un proxy pour ttrss /etc/nginx/conf.d/flux.rnmkcy.eu.conf
server {
listen 80;
listen [::]:80;
server_name flux.rnmkcy.eu;
# redirect all plain HTTP requests to HTTPS
return 301 https://flux.rnmkcy.eu$request_uri;
}
server {
# ipv4 listening port/protocol
listen 443 ssl http2;
# ipv6 listening port/protocol
listen [::]:443 ssl http2;
server_name flux.rnmkcy.eu;
include /etc/nginx/conf.d/security.conf.inc;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://192.168.0.216:8280/;
break;
}
}
Recharger nginx
Paramétrage
ouvrir le lien https://flux.rnmkcy.eu
Thème
ouestline.xyz
Partage (virtiofs)
Virtiofs est un système de fichiers partagé qui permet aux machines virtuelles d’accéder à une arborescence de répertoires sur l’hôte. Contrairement aux approches existantes, il est conçu pour offrir la sémantique et les performances d’un système de fichiers local.
Ajoutez les éléments XML de domaine suivants pour partager le répertoire hôte /path avec l’invité
<domaine>
...
<memoryBacking>
<source type="memfd"/>
<access mode="shared"/>
</memoryBacking>
...
<devices>
...
<filesystem type="mount" accessmode="passthrough">
<driver type="virtiofs"/>
<source dir="/sharenfs"/>
<target dir="media_tag"/>
<address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
</filesystem>
...
</devices>
</domaine>
Créer dossier local
mkdir ~/sharenfs
Le partage sur fstab
media_tag /home/rssuser/sharenfs virtiofs rw,_netdev 0 0
Recharger et monter
sudo systemctl daemon-reload
sudo mount -a
Caddy server
DNS OVH
$TTL 3600
@ IN SOA dns111.ovh.net. tech.ovh.net. (2024070608 86400 3600 3600000 300)
IN NS ns111.ovh.net.
IN NS dns111.ovh.net.
IN AAAA 2a01:e0a:9c8:2081::1
600 IN TXT "v=spf1 mx ~all"
IN CAA 128 issue "letsencrypt.org"
* IN AAAA 2a01:e0a:9c8:2081::1
Tester caddy
sudo mkdir -p /var/caddy/html
sudo bash -c 'echo "<h1>Hello from Caddy web server</h1>" > /var/caddy/html/index.html'
Test lien
Parefeu
Autoriser le port et les ip
sudo ufw allow from 192.168.0.0/24 to any port 55216
sudo ufw allow https
Les règles
Status: active
To Action From
-- ------ ----
443 ALLOW Anywhere
55216 ALLOW 192.168.0.0/24
443 (v6) ALLOW Anywhere (v6)