From 9deaac3afa5a2c435d0941b2b8286b40d2adbca8 Mon Sep 17 00:00:00 2001 From: miracle091 Date: Sat, 15 May 2021 11:43:08 +0200 Subject: [PATCH] Aggiunto miniflux --- miniflux/.env | 3 + miniflux/README.md | 118 ++++++++++++++++++++++++++++++++++++ miniflux/docker-compose.yml | 35 +++++++++++ 3 files changed, 156 insertions(+) create mode 100644 miniflux/.env create mode 100644 miniflux/README.md create mode 100644 miniflux/docker-compose.yml diff --git a/miniflux/.env b/miniflux/.env new file mode 100644 index 0000000..7a84d6d --- /dev/null +++ b/miniflux/.env @@ -0,0 +1,3 @@ +POSTGRES_DIR:/home/docker/miniflux/db +ADMIN_USERNAME=admin +ADMIN_PASSWORD=password \ No newline at end of file diff --git a/miniflux/README.md b/miniflux/README.md new file mode 100644 index 0000000..36b05b2 --- /dev/null +++ b/miniflux/README.md @@ -0,0 +1,118 @@ +# 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.** diff --git a/miniflux/docker-compose.yml b/miniflux/docker-compose.yml new file mode 100644 index 0000000..a90d4e0 --- /dev/null +++ b/miniflux/docker-compose.yml @@ -0,0 +1,35 @@ +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"] \ No newline at end of file