bundles/miniflux: introduce
This commit is contained in:
parent
366374b4e5
commit
ececab44b4
6 changed files with 89 additions and 13 deletions
|
@ -32,7 +32,6 @@ Rule of thumb: keep ports below 10000 free for stuff that reserves ports.
|
||||||
| 6667 | | bitlbee |
|
| 6667 | | bitlbee |
|
||||||
| 8010 | | matrix-media-repo |
|
| 8010 | | matrix-media-repo |
|
||||||
| 8020 | | mautrix-whatsapp |
|
| 8020 | | mautrix-whatsapp |
|
||||||
| 8080 | | miniflux |
|
|
||||||
| 8184 | | matrix-dimension |
|
| 8184 | | matrix-dimension |
|
||||||
| 11332-11334 | | rspamd |
|
| 11332-11334 | | rspamd |
|
||||||
| 20000 | mx-puppet-discord | Bridge |
|
| 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 |
|
| 22010 | jenkins-ci | Jenkins CI |
|
||||||
| 22020 | travelynx | Travelynx Web |
|
| 22020 | travelynx | Travelynx Web |
|
||||||
| 22030 | octoprint | OctoPrint Web Interface |
|
| 22030 | octoprint | OctoPrint Web Interface |
|
||||||
|
| 22040 | miniflux | Miniflux Web Interface |
|
||||||
| 45923 | | grafana |
|
| 45923 | | grafana |
|
||||||
|
|
||||||
## UDP
|
## UDP
|
||||||
|
|
6
bundles/miniflux/files/miniflux.conf
Normal file
6
bundles/miniflux/files/miniflux.conf
Normal 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}/
|
2
bundles/miniflux/files/override.conf
Normal file
2
bundles/miniflux/files/override.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[Service]
|
||||||
|
ExecStartPre=/usr/bin/miniflux -migrate
|
30
bundles/miniflux/items.py
Normal file
30
bundles/miniflux/items.py
Normal 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',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
46
bundles/miniflux/metadata.py
Normal file
46
bundles/miniflux/metadata.py
Normal 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',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ nodes['htz.ex42-1048908'] = {
|
||||||
'jenkins-ci',
|
'jenkins-ci',
|
||||||
'matrix-synapse',
|
'matrix-synapse',
|
||||||
'mautrix-telegram',
|
'mautrix-telegram',
|
||||||
|
'miniflux',
|
||||||
'mx-puppet-discord',
|
'mx-puppet-discord',
|
||||||
'nodejs',
|
'nodejs',
|
||||||
'riot-web',
|
'riot-web',
|
||||||
|
@ -50,11 +51,6 @@ nodes['htz.ex42-1048908'] = {
|
||||||
'deb http://deb.debian.org/debian {os_release}-backports main',
|
'deb http://deb.debian.org/debian {os_release}-backports main',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'miniflux': {
|
|
||||||
'items': {
|
|
||||||
'deb https://apt.miniflux.app/ /',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'rspamd': {
|
'rspamd': {
|
||||||
'items': {
|
'items': {
|
||||||
'deb [arch=amd64] http://rspamd.com/apt-stable/ {os_release} main',
|
'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'),
|
'bot_token': vault.decrypt('encrypt$gAAAAABfVK51ErJ6gfsOOkbRxSHDnVYmf7EihAQf7Uwj9og3TlAw64WRsA6ZVEgTSvOdLB3SMKZ-cTEhwkCOpbymq-_WLhes-hZALhN-H_oXHaxTQErJ0lARynKmjM-4ZhoGlUWlfh4Q'),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'miniflux': {
|
||||||
|
'domain': 'rss.kunsmann.eu',
|
||||||
|
},
|
||||||
'mx-puppet-discord': {
|
'mx-puppet-discord': {
|
||||||
'homeserver': {
|
'homeserver': {
|
||||||
'domain': 'franzi.business',
|
'domain': 'franzi.business',
|
||||||
|
@ -197,13 +196,6 @@ nodes['htz.ex42-1048908'] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'rss.kunsmann.eu': {
|
|
||||||
'proxy': {
|
|
||||||
'/': {
|
|
||||||
'target': 'http://localhost:8080/',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'travelynx.franzi.business': {
|
'travelynx.franzi.business': {
|
||||||
'proxy': {
|
'proxy': {
|
||||||
'/': {
|
'/': {
|
||||||
|
|
Loading…
Reference in a new issue