Adds FreshRSS service (#107)
* Adds FreshRSS service * Adds comments to make it more clear
This commit is contained in:
parent
66ceac9a54
commit
f738b24386
5 changed files with 110 additions and 0 deletions
39
docs/services/freshrss.md
Normal file
39
docs/services/freshrss.md
Normal 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/).
|
|
@ -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) |
|
||||
|
|
|
@ -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 [])
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -83,6 +83,8 @@
|
|||
|
||||
- role: galaxy/focalboard
|
||||
|
||||
- role: galaxy/freshrss
|
||||
|
||||
- role: galaxy/funkwhale
|
||||
|
||||
- role: galaxy/gitea
|
||||
|
|
Loading…
Reference in a new issue