mirror of
https://github.com/mother-of-all-self-hosting/mash-playbook
synced 2024-11-10 06:14:17 +00:00
Add ClickHouse support
This commit is contained in:
parent
851f69432f
commit
9b5867fe23
5 changed files with 89 additions and 0 deletions
53
docs/services/clickhouse.md
Normal file
53
docs/services/clickhouse.md
Normal file
|
@ -0,0 +1,53 @@
|
|||
# ClickHouse
|
||||
|
||||
[ClickHouse](https://clickhouse.com/) is an open-source column-oriented DBMS for online analytical processing (OLAP) that allows users to generate analytical reports using SQL queries in real-time.
|
||||
|
||||
Some of the services installed by this playbook require a ClickHouse database.
|
||||
|
||||
Enabling the ClickHouse database service will automatically wire all other services which require such a database to use it.
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
|
||||
|
||||
```yaml
|
||||
########################################################################
|
||||
# #
|
||||
# clickhouse #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
clickhouse_enabled: true
|
||||
|
||||
# Put a strong password below, generated with `pwgen -s 64 1` or in another way
|
||||
clickhouse_root_passsword: ''
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /clickhouse #
|
||||
# #
|
||||
########################################################################
|
||||
```
|
||||
|
||||
### Getting a database terminal
|
||||
|
||||
You can use the `/mash/clickhouse/bin/cli` tool to get interactive terminal access to the ClickHouse server.
|
||||
|
||||
## Upgrading ClickHouse
|
||||
|
||||
ClickHouse is supposed to auto-upgrade its data as you upgrade to a newer version. There's nothing special that needs to be done.
|
||||
|
||||
## Backing up ClickHouse
|
||||
|
||||
The `/mash/clickhouse/backups` directory is mounted as `/backups` into the container and is an allowed disk for backups called `backups`.
|
||||
|
||||
You can export a single database table by using [the CLI](#getting-a-database-terminal) and running a command like this:
|
||||
|
||||
```sql
|
||||
BACKUP TABLE test TO Disk('backups', 'test.zip');
|
||||
```
|
||||
|
||||
Read the [Backup and Restore](https://clickhouse.com/docs/en/operations/backup) article in the official documentation to learn more.
|
||||
|
||||
For better (more en-masse) exporting, it may be beneficial to use the 3rd party [clickhouse-backup](https://github.com/AlexAkulov/clickhouse-backup) tool, but this is not supported by the playbook yet.
|
|
@ -6,6 +6,7 @@
|
|||
| [AdGuard Home](https://adguard.com/en/adguard-home/overview.html/) | A network-wide DNS software for blocking ads & tracking | [Link](services/adguard-home.md) |
|
||||
| [Appsmith](https://www.appsmith.com/) | Platform for building and deploying custom internal tools and applications without writing code | [Link](services/appsmith.md) |
|
||||
| [authentik](https://goauthentik.io/) | An open-source Identity Provider focused on flexibility and versatility. | [Link](services/authentik.md) |
|
||||
| [ClickHouse](https://clickhouse.com/) | An open-source column-oriented DBMS for online analytical processing (OLAP) that allows users to generate analytical reports using SQL queries in real-time. | [Link](services/clickhouse.md) |
|
||||
| [Collabora Online](https://www.collaboraoffice.com/) | Your Private Office Suite In The Cloud | [Link](services/collabora-online.md) |
|
||||
| [Docker](https://www.docker.com/) | Open-source software for deploying containerized applications | [Link](services/docker.md) |
|
||||
| [Docker Registry](https://docs.docker.com/registry/) | A container image distribution registry | [Link](services/docker-registry.md) |
|
||||
|
|
|
@ -73,6 +73,8 @@ devture_systemd_service_manager_services_list_auto: |
|
|||
+
|
||||
([{'name': (authentik_worker_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'authentik']}] if authentik_enabled else [])
|
||||
+
|
||||
([{'name': (clickhouse_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'clickhouse']}] if clickhouse_enabled else [])
|
||||
+
|
||||
([{'name': (collabora_online_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'collabora-online']}] if collabora_online_enabled else [])
|
||||
+
|
||||
([{'name': (devture_postgres_identifier + '.service'), 'priority': 500, 'groups': ['mash', 'postgres']}] if devture_postgres_enabled else [])
|
||||
|
@ -685,6 +687,34 @@ backup_borg_systemd_required_services_list: |
|
|||
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# clickhouse #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
clickhouse_enabled: false
|
||||
|
||||
clickhouse_identifier: "{{ mash_playbook_service_identifier_prefix }}clickhouse"
|
||||
|
||||
clickhouse_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}clickhouse"
|
||||
|
||||
clickhouse_uid: "{{ mash_playbook_uid }}"
|
||||
clickhouse_gid: "{{ mash_playbook_gid }}"
|
||||
|
||||
# This will be extended in the future, to auto-create databases for services which depend on MariaDB.
|
||||
# See `devture_postgres_managed_databases_auto`
|
||||
# TODO
|
||||
# clickhouse_managed_databases_auto: []
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /clickhouse #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# collabora-online #
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
name: auxiliary
|
||||
- src: git+https://gitlab.com/etke.cc/roles/backup_borg.git
|
||||
version: v1.2.4-1.7.15-0
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-clickhouse.git
|
||||
version: v23.6.1.1524-0
|
||||
name: clickhouse
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-collabora-online.git
|
||||
version: v22.05.13.1.1-0
|
||||
name: collabora_online
|
||||
|
|
|
@ -64,6 +64,8 @@
|
|||
|
||||
- role: galaxy/backup_borg
|
||||
|
||||
- role: galaxy/clickhouse
|
||||
|
||||
- role: galaxy/collabora_online
|
||||
|
||||
- role: galaxy/docker_registry
|
||||
|
|
Loading…
Reference in a new issue