# Miniflux
## Descrizione [Sito ufficiale](https://miniflux.app/) - [Repo (Github)](https://github.com/miniflux/v2) - [Documentazione](https://miniflux.app/docs/index.html) Miniflux è un lettore web di feed dal design minimalista e privacy-friendly: - Interfaccia web multilingua e compatibile anche con tablet/smartphone - Scorciatoie da trastiera - Rimozione automatica dei traccianti (se presenti) - Compatibile con le [API](https://miniflux.app/docs/services.html) più comuni e usate ## Struttura file e cartelle ``` /home/ └── docker/ └── miniflux/ ├── db/ ├── .env └── docker-compose.yml ``` * `db/` - cartella dove i dati del database vengono salvati * `.env` - file contenenti le variabili environment per il docker-compose * `docker-compose.yml` - file usato per creare il container **N.B. Tutti i file e le cartelle devono essere creati a mano.** ### network ```bash docker network create custom-bridge ``` oppure ```bash podman network create custom-bridge ``` ## Esempi Semplice esempio per iniziare ad usare subito il container ### docker-compose `docker-compose.yml` ```yml version: "3.8" services: db: container_name: miniflux-db image: postgres:13-alpine security_opt: - no-new-privileges:true networks: - custom-bridge restart: always env_file: .env volumes: - ${POSTGRES_DATA:-/home/docker/miniflux/db}:/var/lib/postgresql/data - /etc/localtime:/etc/localtime:ro healthcheck: test: ["CMD", "pg_isready", "-U", "miniflux"] interval: 1m30s timeout: 10s retries: 3 start_period: 10s feeder: container_name: miniflux image: ghcr.io/miniflux/miniflux security_opt: - no-new-privileges:true networks: - custom-bridge restart: unless-stopped depends_on: - db ports: - ${MINIFLUX_WEBUI_PORT:-8080}:8080 env_file: .env healthcheck: test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"] networks: custom-bridge: name: custom-bridge driver: bridge ``` `.env` ```bash # Generale POSTGRES_DATA=/home/docker/miniflux/db MINIFLUX_WEBUI_PORT=8080 # Postgres POSTGRES_USER=miniflux POSTGRES_PASSWORD=secret # Miniflux DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable RUN_MIGRATIONS=1 CREATE_ADMIN=1 ADMIN_USERNAME=admin ADMIN_PASSWORD=password ``` ## Reverse proxy Ancora non ho previsto l'uso di un reverse proxy (Vedi [Todo](#Todo)) ## Aggiornamento ### Automatico Usando [watchtower](../watchtower) il container si aggiorna automaticamente ### Manuale 1. `docker-compose pull` 2. `docker-compose up -d` 3. `docker image prune` ## Backup e ripristino ### Backup Usate [borg](../borg_backup) per fare i backup giornalieri dell'intera cartella `miniflux` ### Ripristino Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg_backup#user-content-controllare-la-cartella-dei-backup) 1. fermare il container `docker-compose down` 2. cancellare l'intera cartella `miniflux` 3. dal backup copiare la cartella `miniflux` 4. far ripartire il container `docker-compose up -d` ## Todo Implementare: - reverse proxy: **[caddy](https://caddyserver.com/)** o **[traefik](https://doc.traefik.io/traefik/)**