bundles/miniflux: introduce

This commit is contained in:
Franzi 2020-10-18 15:48:50 +02:00
parent 366374b4e5
commit ececab44b4
Signed by: kunsi
GPG key ID: 12E3D2136B818350
6 changed files with 89 additions and 13 deletions

View file

@ -32,7 +32,6 @@ Rule of thumb: keep ports below 10000 free for stuff that reserves ports.
| 6667 | | bitlbee |
| 8010 | | matrix-media-repo |
| 8020 | | mautrix-whatsapp |
| 8080 | | miniflux |
| 8184 | | matrix-dimension |
| 11332-11334 | | rspamd |
| 20000 | mx-puppet-discord | Bridge |
@ -43,6 +42,7 @@ Rule of thumb: keep ports below 10000 free for stuff that reserves ports.
| 22010 | jenkins-ci | Jenkins CI |
| 22020 | travelynx | Travelynx Web |
| 22030 | octoprint | OctoPrint Web Interface |
| 22040 | miniflux | Miniflux Web Interface |
| 45923 | | grafana |
## UDP

View file

@ -0,0 +1,6 @@
DATABASE_URL="user=miniflux password=${dbpassword} dbname=miniflux sslmode=disable host=localhost"
LISTEN_ADDR=127.0.0.1:22040
POLLING_FREQUENCY=15
BATCH_SIZE=100
WORKER_POOL_SIZE=5
BASE_URL=https://${base_url}/

View file

@ -0,0 +1,2 @@
[Service]
ExecStartPre=/usr/bin/miniflux -migrate

30
bundles/miniflux/items.py Normal file
View file

@ -0,0 +1,30 @@
files = {
'/etc/miniflux.conf': {
'content_type': 'mako',
'context': {
'dbpassword': node.metadata['postgresql']['users']['miniflux']['password'],
'base_url': node.metadata['miniflux']['domain'],
},
'triggers': {
'svc_systemd:miniflux:restart',
},
},
'/etc/systemd/system/miniflux.service.d/bundlewrap.conf': {
'source': 'override.conf',
'triggers': {
'action:systemd-reload',
'svc_systemd:miniflux:restart',
},
},
}
svc_systemd = {
'miniflux': {
'needs': {
'file:/etc/miniflux.conf',
'file:/etc/systemd/system/miniflux.service.d/bundlewrap.conf',
'pkg_apt:miniflux',
'postgres_role:miniflux',
},
},
}

View file

@ -0,0 +1,46 @@
defaults = {
'apt': {
'packages': {
'miniflux': {},
},
'repos': {
'miniflux': {
'items': {
'deb https://apt.miniflux.app/ /',
},
},
},
},
'postgresql': {
'users': {
'miniflux': {
'password': repo.vault.password_for('{} postgresql miniflux'.format(node.name)),
},
},
'databases': {
'miniflux': {
'owner': 'miniflux',
},
},
},
}
@metadata_reactor
def nginx(metadata):
if not node.has_bundle('nginx'):
raise DoNotRunAgain
return {
'nginx': {
'vhosts': {
metadata.get('miniflux/domain'): {
'proxy': {
'/': {
'target': 'http://127.0.0.1:22040',
},
},
},
},
},
}

View file

@ -4,6 +4,7 @@ nodes['htz.ex42-1048908'] = {
'jenkins-ci',
'matrix-synapse',
'mautrix-telegram',
'miniflux',
'mx-puppet-discord',
'nodejs',
'riot-web',
@ -50,11 +51,6 @@ nodes['htz.ex42-1048908'] = {
'deb http://deb.debian.org/debian {os_release}-backports main',
],
},
'miniflux': {
'items': {
'deb https://apt.miniflux.app/ /',
},
},
'rspamd': {
'items': {
'deb [arch=amd64] http://rspamd.com/apt-stable/ {os_release} main',
@ -137,6 +133,9 @@ nodes['htz.ex42-1048908'] = {
'bot_token': vault.decrypt('encrypt$gAAAAABfVK51ErJ6gfsOOkbRxSHDnVYmf7EihAQf7Uwj9og3TlAw64WRsA6ZVEgTSvOdLB3SMKZ-cTEhwkCOpbymq-_WLhes-hZALhN-H_oXHaxTQErJ0lARynKmjM-4ZhoGlUWlfh4Q'),
},
},
'miniflux': {
'domain': 'rss.kunsmann.eu',
},
'mx-puppet-discord': {
'homeserver': {
'domain': 'franzi.business',
@ -197,13 +196,6 @@ nodes['htz.ex42-1048908'] = {
},
},
},
'rss.kunsmann.eu': {
'proxy': {
'/': {
'target': 'http://localhost:8080/',
},
},
},
'travelynx.franzi.business': {
'proxy': {
'/': {