add freescout

This commit is contained in:
Aine 2024-09-23 19:19:42 +03:00
parent f80682d5cf
commit 92d380817b
No known key found for this signature in database
GPG key ID: 34969C908CCA2804
4 changed files with 109 additions and 0 deletions

View file

@ -0,0 +1,44 @@
# Freescout
[Freescout](https://freescout.net/) is a free open-source helpdesk and shared inbox solution.
## Dependencies
This service requires the following other services:
- a [Postgres](postgres.md) database
- a [Traefik](traefik.md) reverse-proxy server
## Configuration
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
```yaml
########################################################################
# #
# freescout #
# #
########################################################################
freescout_enabled: true
freescout_hostname: freescout.example.com
freescout_admin_email: your-email-here
freescout_admin_password: a-strong-password-here
########################################################################
# #
# /freescout #
# #
########################################################################
```
In the example configuration above, we configure the service to be hosted at `https://freescout.example.com`.
## Usage
After installation, you can log in with your administrator login (`freescout_admin_email`) and password (`freescout_admin_password`).

View file

@ -26,6 +26,7 @@
| [exim-relay](https://github.com/devture/exim-relay) | A lightweight [Exim](https://www.exim.org/) SMTP mail relay server | [Link](services/exim-relay.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) |
| [Freescout](https://freescout.net/) | A free help desk software | [Link](services/freescout.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

@ -409,6 +409,11 @@ mash_playbook_devture_systemd_service_manager_services_list_auto_itemized:
{{ ({'name': (linkding_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'linkding']} if linkding_enabled else omit) }}
# /role-specific:linkding
# role-specific:freescout
- |-
{{ ({'name': (freescout_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'freescout']} if freescout_enabled else omit) }}
# /role-specific:freescout
# role-specific:miniflux
- |-
{{ ({'name': (miniflux_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'miniflux']} if miniflux_enabled else omit) }}
@ -835,6 +840,17 @@ mash_playbook_devture_postgres_managed_databases_auto_itemized:
}}
# /role-specific:linkding
# role-specific:freescout
- |-
{{
({
'name': freescout_database_name,
'username': freescout_database_username,
'password': freescout_database_password,
} if freescout_enabled else omit)
}}
# /role-specific:freescout
# role-specific:miniflux
- |-
{{
@ -3640,6 +3656,50 @@ linkding_database_engine: "{{ 'postgres' if devture_postgres_enabled and linkdin
# role-specific:freescout
########################################################################
# #
# freescout #
# #
########################################################################
freescout_enabled: false
freescout_identifier: "{{ mash_playbook_service_identifier_prefix }}freescout"
freescout_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}freescout"
freescout_systemd_required_services_list: |
{{
([devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [])
+
([devture_postgres_identifier ~ '.service'] if devture_postgres_enabled and freescout_database_hostname == devture_postgres_identifier else [])
}}
freescout_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 freescout_database_hostname == devture_postgres_identifier and freescout_container_network != devture_postgres_container_network else [])
}}
freescout_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}"
freescout_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}"
freescout_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}"
freescout_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}"
freescout_database_hostname: "{{ devture_postgres_connection_hostname if devture_postgres_enabled else '' }}"
freescout_database_password: "{{ '%s' | format(mash_playbook_generic_secret_key) | password_hash('sha512', 'freescout.db', rounds=655555) | to_uuid }}"
########################################################################
# #
# /freescout #
# #
########################################################################
# /role-specific:freescout
# role-specific:miniflux
########################################################################
# #

View file

@ -207,6 +207,10 @@
- role: galaxy/mariadb
# /role-specific:mariadb
# role-specific:freescout
- role: galaxy/freescout
# /role-specific:freescout
# role-specific:miniflux
- role: galaxy/miniflux
# /role-specific:miniflux