Adds FreshRSS service (#107)

* Adds FreshRSS service

* Adds comments to make it more clear
This commit is contained in:
Alejandro AR 2023-10-10 17:06:11 +02:00 committed by GitHub
parent 66ceac9a54
commit f738b24386
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 110 additions and 0 deletions

39
docs/services/freshrss.md Normal file
View file

@ -0,0 +1,39 @@
# FreshRSS
[FreshRSS](https://freshrss.org) is a self-hosted RSS and Atom feed aggregator. It is lightweight, easy to work with, powerful, and customizable.
## Dependencies
This service requires the following other services:
- a [Traefik](traefik.md) reverse-proxy server
- an optional [Postgres](postgres.md) database, but FreshRSS will default to [SQLite](https://www.sqlite.org/) if you don't have Postgres enabled.
## Configuration
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
```yaml
########################################################################
# #
# freshrss #
# #
########################################################################
freshrss_enabled: true
freshrss_hostname: mash.example.com
freshrss_path_prefix: /freshrss
########################################################################
# #
# /freshrss #
# #
########################################################################
```
## Usage
After installation, visit the configured path and complete the setup through the wizard.
Feel free to follow FreshRSS [official documentation](http://freshrss.github.io/FreshRSS/en/).

View file

@ -17,6 +17,7 @@
| [Docker Registry Purger](https://github.com/devture/docker-registry-purger) | A small tool used for purging a private Docker Registry's old tags | [Link](services/docker-registry-purger.md) |
| [Echo IP](https://github.com/mpolden/echoip) | A simple service for looking up your IP address | [Link](services/echoip.md) |
| [Focalboard](https://www.focalboard.com/) | An open source, self-hosted alternative to [Trello](https://trello.com/), [Notion](https://www.notion.so/), and [Asana](https://asana.com/). | [Link](services/focalboard.md) |
| [FreshRSS](https://freshrss.org/) | RSS and Atom feed aggregator. | [Link](services/freshrss.md) |
| [Firezone](https://www.firezone.dev/) | A self-hosted VPN server (based on [WireGuard](https://www.wireguard.com/)) with a Web UI | [Link](services/firezone.md) |
| [Funkwhale](https://funkwhale.audio/) | Listen and share music with a selfhosted streaming server.| [Link](services/funkwhale.md) |
| [Gitea](https://gitea.io/) | A painless self-hosted [Git](https://git-scm.com/) service. | [Link](services/gitea.md) |

View file

@ -164,6 +164,8 @@ devture_systemd_service_manager_services_list_auto: |
+
([{'name': (focalboard_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'focalboard']}] if focalboard_enabled else [])
+
([{'name': (freshrss_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'freshrss']}] if freshrss_enabled else [])
+
([{'name': (funkwhale_api_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'funkwhale']}] if funkwhale_enabled else [])
+
([{'name': (funkwhale_frontend_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'funkwhale']}] if funkwhale_enabled else [])
@ -334,6 +336,12 @@ devture_postgres_managed_databases_auto: |
'password': focalboard_database_password,
}] if focalboard_enabled and focalboard_database_type == 'postgres' and focalboard_database_hostname == devture_postgres_identifier else [])
+
([{
'name': freshrss_database_name,
'username': freshrss_database_username,
'password': freshrss_database_password,
}] if freshrss_enabled and freshrss_database_hostname == devture_postgres_identifier else [])
+
([{
'name': funkwhale_database_name,
'username': funkwhale_database_username,
@ -1120,6 +1128,53 @@ focalboard_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certRe
########################################################################
# #
# freshrss #
# #
########################################################################
freshrss_enabled: false
freshrss_identifier: "{{ mash_playbook_service_identifier_prefix }}freshrss"
freshrss_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}freshrss"
# freshrss_uid and freshrss_gid are intentionally not being set here.
# FreshRSS can only work with a specific user and group, as hardcoded in the role defaults.
freshrss_uid: "0"
freshrss_gid: "33"
freshrss_systemd_required_services_list: |
{{
(['docker.service'])
+
([devture_postgres_identifier ~ '.service'] if devture_postgres_enabled and freshrss_database_hostname == devture_postgres_identifier else [])
}}
freshrss_container_additional_networks: |
{{
([mash_playbook_reverse_proxyable_services_additional_network] if mash_playbook_reverse_proxyable_services_additional_network else [])
+
([devture_postgres_container_network] if devture_postgres_enabled and freshrss_database_hostname == devture_postgres_identifier and freshrss_container_network != devture_postgres_container_network else [])
}}
freshrss_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}"
freshrss_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}"
freshrss_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}"
freshrss_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}"
freshrss_database_hostname: "{{ devture_postgres_connection_hostname if devture_postgres_enabled else '' }}"
freshrss_database_password: "{{ '%s' | format(mash_playbook_generic_secret_key) | password_hash('sha512', 'freshrss.db', rounds=655555) | to_uuid }}"
########################################################################
# #
# /freshrss #
# #
########################################################################
########################################################################
# #
# funkwhale #
@ -1442,6 +1497,14 @@ hubsite_service_focalboard_logo_location: "{{ role_path }}/assets/focalboard.png
hubsite_service_focalboard_description: "An open source, self-hosted alternative to Trello, Notion, and Asana."
hubsite_service_focalboard_priority: 1000
# FreshRSS
hubsite_service_freshrss_enabled: "{{ freshrss_enabled }}"
hubsite_service_freshrss_name: FreshRSS
hubsite_service_freshrss_url: "https://{{ freshrss_hostname }}{{ freshrss_path_prefix }}"
hubsite_service_freshrss_logo_location: "{{ role_path }}/assets/freshrss.png"
hubsite_service_freshrss_description: "RSS and Atom feed aggregator."
hubsite_service_freshrss_priority: 1000
# Funkwhale
hubsite_service_funkwhale_enabled: "{{ funkwhale_enabled }}"
hubsite_service_funkwhale_name: Funkwhale
@ -1601,6 +1664,8 @@ hubsite_service_list_auto: |
+
([{'name': hubsite_service_focalboard_name, 'url': hubsite_service_focalboard_url, 'logo_location': hubsite_service_focalboard_logo_location, 'description': hubsite_service_focalboard_description, 'priority': hubsite_service_focalboard_priority}] if hubsite_service_focalboard_enabled else [])
+
([{'name': hubsite_service_freshrss_name, 'url': hubsite_service_freshrss_url, 'logo_location': hubsite_service_freshrss_logo_location, 'description': hubsite_service_freshrss_description, 'priority': hubsite_service_freshrss_priority}] if hubsite_service_freshrss_enabled else [])
+
([{'name': hubsite_service_funkwhale_name, 'url': hubsite_service_funkwhale_url, 'logo_location': hubsite_service_funkwhale_logo_location, 'description': hubsite_service_funkwhale_description, 'priority': hubsite_service_funkwhale_priority}] if hubsite_service_funkwhale_enabled else [])
+
([{'name': hubsite_service_gitea_name, 'url': hubsite_service_gitea_url, 'logo_location': hubsite_service_gitea_logo_location, 'description': hubsite_service_gitea_description, 'priority': hubsite_service_gitea_priority}] if hubsite_service_gitea_enabled else [])

View file

@ -75,6 +75,9 @@
- src: git+https://github.com/NeonMinnen/ansible-role-forgejo.git
version: v1.20.4-1-1
name: forgejo
- src: git+https://github.com/kinduff/ansible-docker-freshrss.git
version: v2.0.0
name: freshrss
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-funkwhale.git
version: v1.3.0-rc6-0
name: funkwhale

View file

@ -83,6 +83,8 @@
- role: galaxy/focalboard
- role: galaxy/freshrss
- role: galaxy/funkwhale
- role: galaxy/gitea