Copyright (C) 2021-2022 Berkhan Berkdemir <berkhan@tekdanisman.com> Copyright (C) 2022 Maciej Delmanowski <drybjed@gmail.com> Copyright (C) 2022 DebOps <https://debops.org/> SPDX-License-Identifier: GPL-3.0-only
debops.miniflux default variables
Sections
Web service configuration
- miniflux__domain
The DNS domain used by other variables in the debops.miniflux
role.
miniflux__domain: '{{ ansible_domain }}'
- miniflux__fqdn
String of the Fully Qualified domain names on which the Miniflux application will be available, used by the webserver.
miniflux__fqdn: 'miniflux.{{ miniflux__domain }}'
- miniflux__bind
The ip address on which this Miniflux listens on.
miniflux__bind: '127.0.0.1'
- miniflux__port
Port number on which this Miniflux listens on.
miniflux__port: '3366'
Application user, group, home
- miniflux__user
Name of the UNIX system account used by the Miniflux service.
miniflux__user: 'miniflux'
- miniflux__group
Name of the UNIX system group used by the Miniflux service.
miniflux__group: 'miniflux'
- miniflux__gecos
Contents of the GECOS field set for the Miniflux account.
miniflux__gecos: 'Miniflux'
- miniflux__shell
The default shell set on the Miniflux account.
miniflux__shell: '/usr/sbin/nologin'
- miniflux__home
The Miniflux account home directory.
miniflux__home: '{{ (ansible_local.fhs.home | d("/var/local"))
+ "/" + miniflux__user }}'
PostgreSQL database configuration
The Miniflux database configuration is managed by the debops.postgresql Ansible role. See its documentation for details about the default variable values used in the Miniflux role.
- miniflux__database_host
The hostname or IP address of the PostgreSQL database server to use for the Miniflux database.
miniflux__database_host: '{{ ansible_local.postgresql.server | d("localhost") }}'
- miniflux__database_port
The TCP port of the PostgreSQL database server which should be used by Miniflux.
miniflux__database_port: '{{ ansible_local.postgresql.port | d("5432") }}'
- miniflux__database_name
Name of the PostgreSQL database and its corresponding role used by Miniflux. This role won't be able to login to the database server directly.
miniflux__database_name: 'miniflux_production'
- miniflux__database_user
Name of the PostgreSQL role used by Miniflux. This role will be able to login to the PostgreSQL server and access the Miniflux database.
miniflux__database_user: 'miniflux'
- miniflux__database_password
Autogenerated password to the Miniflux PostgreSQL user role.
miniflux__database_password: '{{ lookup("password", secret + "/postgresql/" +
(ansible_local.postgresql.delegate_to | d("localhost")) + "/" +
(ansible_local.postgresql.port | d("5432")) + "/credentials/" +
miniflux__database_user + "/password") }}'
Go application deployment
These variables control how the miniflux binary is
installed on the host. The installation is performed by the
debops.golang role, refer to its documentation for details. The
installation definition can be found in the
miniflux__golang__dependent_packages
variable.
- miniflux__upstream_gpg_key
The fingerprint of the GPG key which is used to sign the Miniflux releases. It will be used to verify the downloaded signature file as well as the git tags in the source repository.
miniflux__upstream_gpg_key: '5A7A 89AC F055 24CA A0F3 6F9B AEB7 A164 0710 8DB5'
- miniflux__upstream_type
Specify the method which should be used to install Miniflux binary. The
apt
method will install Miniflux via the configured APT repository, if
it's available. The url
method will download the miniflux
compiled binary and install it directly after verification with the official
GPG key. The git
method will download Miniflux source code and compile it
locally (this method doesn't work on Debian Bullseye due to missing "embed"
Go library).
miniflux__upstream_type: 'apt'
- miniflux__upstream_version
Version of the Miniflux upstream.
miniflux__upstream_version: '2.0.35'
- miniflux__upstream_url_mirror
The base URL of the Miniflux download page, should end with the /
character.
miniflux__upstream_url_mirror: 'https://github.com/miniflux/v2/releases/'
- miniflux__upstream_platform
Specify the OS type and platform architecture to use for installation. The list of supported architectures and OS types can be found on the https://github.com/miniflux/v2/releases/ page.
miniflux__upstream_platform: 'linux-amd64'
- miniflux__upstream_git_repository
The URL of the upstream git repository which contains Miniflux source code.
miniflux__upstream_git_repository: 'https://github.com/miniflux/miniflux'
- miniflux__binary
Absolute path to the miniflux Go binary installed on the host. See the debops.golang role for more details.
miniflux__binary: '{{ ansible_local.golang.binaries["miniflux"]
if (ansible_local.golang.binaries | d() and
ansible_local.golang.binaries.miniflux | d())
else "" }}'
Miniflux configuration
The variables below define the contents of the /etc/miniflux.conf
configuration file. See miniflux__configuration for more details.
- miniflux__default_configuration
Miniflux configuration options defined by the role by default.
miniflux__default_configuration:
- name: 'run_migrations'
value: True
- name: 'database_url'
value: '{{ "postgres://" + miniflux__database_user
+ ":" + miniflux__database_password
+ "@" + miniflux__database_host
+ ":" + miniflux__database_port
+ "/" + miniflux__database_name }}'
- name: 'listen_addr'
value: '{{ miniflux__bind + ":" + miniflux__port }}'
- name: 'base_url'
value: '{{ "https://" + miniflux__fqdn }}'
- miniflux__configuration
Miniflux configuration options defined on all hosts in the Ansible inventory.
miniflux__configuration: []
- miniflux__group_configuration
Miniflux configuration options defined on hosts in a specific Ansible inventory group.
miniflux__group_configuration: []
- miniflux__host_configuration
Miniflux configuration options defined on specific hosts in the Ansible inventory.
miniflux__host_configuration: []
- miniflux__combined_configuration
Variable which combines all Miniflux configuration lists and is used in role tasks and templates.
miniflux__combined_configuration: '{{ miniflux__default_configuration
+ miniflux__configuration
+ miniflux__group_configuration
+ miniflux__host_configuration }}'
Configuration variables for other Ansible roles
miniflux__keyring__dependent_apt_keys:
- id: '{{ miniflux__upstream_gpg_key }}'
url: 'https://apt.miniflux.app/KEY.gpg'
repo: 'deb https://apt.miniflux.app/ /'
state: '{{ "present"
if (miniflux__upstream_type == "apt")
else "absent" }}'
- miniflux__postgresql__dependent_roles
Role configuration for the debops.postgresql Ansible role.
miniflux__postgresql__dependent_roles:
- name: '{{ miniflux__database_user }}'
- name: '{{ miniflux__database_name }}'
flags: [ 'NOLOGIN' ]
- miniflux__postgresql__dependent_groups
Group configuration for the debops.postgresql Ansible role.
miniflux__postgresql__dependent_groups:
- roles: [ '{{ miniflux__database_user }}' ]
groups: [ '{{ miniflux__database_name }}' ]
database: '{{ miniflux__database_name }}'
- miniflux__postgresql__dependent_databases
Database configuration for the debops.postgresql Ansible role.
miniflux__postgresql__dependent_databases:
- name: '{{ miniflux__database_name }}'
owner: '{{ miniflux__database_name }}'
- miniflux__postgresql__dependent_pgpass
~/.pgpass
configuration for the debops.postgresql Ansible
role.
miniflux__postgresql__dependent_pgpass:
- owner: '{{ miniflux__user }}'
group: '{{ miniflux__group }}'
home: '{{ miniflux__home }}'
system: True
- miniflux__postgresql__dependent_extensions
Configuration of PostgreSQL extensions for the debops.postgresql Ansible role.
miniflux__postgresql__dependent_extensions:
- database: '{{ miniflux__database_name }}'
extension: 'hstore'
- miniflux__golang__dependent_packages
Configuration for the debops.golang Ansible role.
miniflux__golang__dependent_packages:
- name: 'miniflux'
upstream_type: '{{ miniflux__upstream_type }}'
apt_packages: [ 'miniflux' ]
gpg:
- id: '{{ miniflux__upstream_gpg_key }}'
url: 'https://apt.miniflux.app/KEY.gpg'
url:
- src: '{{ miniflux__upstream_url_mirror + "download/" + miniflux__upstream_version + "/miniflux-" + miniflux__upstream_platform }}'
dest: 'releases/{{ miniflux__upstream_platform }}/miniflux/miniflux/" + miniflux__upstream_version + "/miniflux_" + miniflux__upstream_version + "_linux_amd64'
url_binaries:
- src: 'releases/{{ miniflux__upstream_platform }}/miniflux/miniflux/" + miniflux__upstream_version + "/miniflux_" + miniflux__upstream_version + "_linux_amd64'
dest: 'miniflux'
notify: [ 'Restart miniflux' ]
git:
- repo: '{{ miniflux__upstream_git_repository }}'
version: '{{ miniflux__upstream_version }}'
build_script: |
make clean linux-amd64
git_binaries:
- src: 'github.com/miniflux/v2/bin/miniflux.app'
dest: 'miniflux'
notify: [ 'Restart miniflux' ]
- miniflux__nginx__dependent_upstreams
Upstream configuration for the debops.nginx Ansible role.
miniflux__nginx__dependent_upstreams:
- name: 'miniflux-upstream'
server: '{{ miniflux__bind }}:{{ miniflux__port }}'
- miniflux__nginx__dependent_servers
Server configuration for the debops.nginx Ansible role.
miniflux__nginx__dependent_servers:
- name: '{{ miniflux__fqdn }}'
by_role: 'debops.miniflux'
filename: 'debops.miniflux'
type: 'proxy'
proxy_location: '/'
proxy_headers: True
proxy_options: |
proxy_redirect off;
proxy_pass: 'http://miniflux-upstream'
- miniflux__etc_services__dependent_list
Configuration for the debops.etc_services Ansible role.
miniflux__etc_services__dependent_list:
- name: 'miniflux'
port: '{{ miniflux__port }}'