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) |
|
| [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) |
|
| [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) |
|
| [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) |
|
| [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) |
|
| [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) |
|
| [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': (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_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 [])
|
([{'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,
|
'password': focalboard_database_password,
|
||||||
}] if focalboard_enabled and focalboard_database_type == 'postgres' and focalboard_database_hostname == devture_postgres_identifier else [])
|
}] 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,
|
'name': funkwhale_database_name,
|
||||||
'username': funkwhale_database_username,
|
'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 #
|
# 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_description: "An open source, self-hosted alternative to Trello, Notion, and Asana."
|
||||||
hubsite_service_focalboard_priority: 1000
|
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
|
# Funkwhale
|
||||||
hubsite_service_funkwhale_enabled: "{{ funkwhale_enabled }}"
|
hubsite_service_funkwhale_enabled: "{{ funkwhale_enabled }}"
|
||||||
hubsite_service_funkwhale_name: Funkwhale
|
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_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_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 [])
|
([{'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
|
- src: git+https://github.com/NeonMinnen/ansible-role-forgejo.git
|
||||||
version: v1.20.4-1-1
|
version: v1.20.4-1-1
|
||||||
name: forgejo
|
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
|
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-funkwhale.git
|
||||||
version: v1.3.0-rc6-0
|
version: v1.3.0-rc6-0
|
||||||
name: funkwhale
|
name: funkwhale
|
||||||
|
|
|
@ -83,6 +83,8 @@
|
||||||
|
|
||||||
- role: galaxy/focalboard
|
- role: galaxy/focalboard
|
||||||
|
|
||||||
|
- role: galaxy/freshrss
|
||||||
|
|
||||||
- role: galaxy/funkwhale
|
- role: galaxy/funkwhale
|
||||||
|
|
||||||
- role: galaxy/gitea
|
- role: galaxy/gitea
|
||||||
|
|
Loading…
Reference in a new issue