ProxmoxVED/install/miniflux-install.sh
Omer Naveed 72ad956cd9
Add Miniflux script (#935)
* Add Miniflux script

* Delete ct/headers/miniflux

This will get auto-generated by our func

* Minor fixes to Miniflux scripts

- run `apt update` before `apt upgrade miniflux`
- use selfh.st/icons for logo
- remove `[trusted=yes]` from miniflux source
- remove extra spaces
- change `apt-get` to `apt`

* Move Miniflux DB creds

Move Miniflux database credentials from a separate file, to directly inside of the `/etc/minflux.conf` file.

* Update Miniflux source to be trusted automatically

* Store ~/.pgpass for db backups using pg_dump

* Use GitHub Release binary instead of UNSIGNED apt source

* Add apt -y clean

* Make recommended changes

* Added notes

* Set `LISTEN_ADDR=0.0.0.0:8080` by default

* Finishing touches. Removed some unneeded msg blocks

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
2025-10-30 23:14:51 +01:00

64 lines
1.5 KiB
Bash

#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: omernaveedxyz
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://miniflux.app/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
PG_VERSION=17 setup_postgresql
DB_NAME=miniflux
DB_USER=miniflux
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER;"
$STD sudo -u postgres psql -d "$DB_NAME" -c "CREATE EXTENSION hstore;"
fetch_and_deploy_gh_release "miniflux" "miniflux/v2" "binary" "latest"
msg_info "Configuring Miniflux"
ADMIN_NAME=admin
ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)"
cat <<EOF >/etc/miniflux.conf
# See https://miniflux.app/docs/configuration.html
DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost/$DB_NAME?sslmode=disable
CREATE_ADMIN=1
ADMIN_USERNAME=$ADMIN_NAME
ADMIN_PASSWORD=$ADMIN_PASS
LISTEN_ADDR=0.0.0.0:8080
EOF
{
echo "Application Credentials"
echo "DB_NAME: $DB_NAME"
echo "DB_USER: $DB_USER"
echo "DB_PASS: $DB_PASS"
echo "ADMIN_USERNAME: $ADMIN_NAME"
echo "ADMIN_PASSWORD: $ADMIN_PASS"
} >>~/miniflux.creds
miniflux -migrate -config-file /etc/miniflux.conf
systemctl enable -q --now miniflux
msg_ok "Configured Miniflux"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"