# Miniflux in docker ![look](https://miniflux.app/images/overview.png) # Utilizzo * [Sito ufficiale](https://miniflux.app/) * [Repo (Github)](https://github.com/miniflux/v2) Miniflux è un lettore di feed minimalista: - Scritto in Go (Golang) - Funziona solo con Postgresql - Non usa alcun ORM - Non usa alcun framework complicato - Usa solo il Javascript moderno (ES6 e Fetch API) - Binario singolo compilato staticamente senza dipendenze - Il numero di caratteristiche è volontariamente limitato # Struttura file e cartelle ``` /home/ └── ~/ └── docker/ └── miniflux/ ├── db/ ├── .env └── docker-compose.yml ``` * `db/` - la cartella dove i dati del database vengono salvati * `.env` - un file contenenti le variabili environment per il docker compose * `docker-compose.yml` - il docker compose per creare il container Tutti i file e le cartelle devono essere forniti a mano.
**La cartella `db` è già presente in questo repository.** # docker-compose `docker-compose.yml` ```yml version: "3.8" services: db: container_name: miniflux-db image: postgres:13-alpine restart: always environment: - POSTGRES_USER=miniflux - POSTGRES_PASSWORD=secret volumes: - ${POSTGRES_DIR:-/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 restart: unless-stopped depends_on: - db ports: - 8080:8080 environment: - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable - RUN_MIGRATIONS=1 - CREATE_ADMIN=1 - ADMIN_USERNAME=${ADMIN_USERNAME:-admin} - ADMIN_PASSWORD=${ADMIN_PASSWORD:-password} healthcheck: test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"] ``` `.env` ```bash POSTGRES_DIR:/home/docker/miniflux/db ADMIN_USERNAME=admin ADMIN_PASSWORD=password ``` # Reverse proxy Ancora non ho previsto l'uso di un reverse proxy. (Vedi [Todo](#Todo)) # Aggiornamenti [Watchtower](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/watchtower) aggiorna l'immagine automaticamente. Aggiornamento manuale: - `docker-compose pull`
- `docker-compose up -d`
- `docker image prune` # Backup e ripristino #### Backup Copiare a mano, tramite crontab o altro la cartella `minifux` (Vedi [Todo](#Todo)) #### Ripristino * spegnere il container `docker-compose down`
* cancellare l'intera cartella `miniflux`
* dal backup copiare la cartella `miniflux`
* far partire il container `docker-compose up -d` # Todo Implementare: - reverse proxy: **[caddy](https://caddyserver.com/) o [traefik](https://doc.traefik.io/traefik/).** - backup: **[borg](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/borg_backup) per fare i backup giornalieri completi.**