Merge branch 'main' into prometheus-node-exporter

This commit is contained in:
Aine 2023-03-18 09:45:08 +02:00 committed by GitHub
commit 1da2615d37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 113 additions and 7 deletions

42
docs/services/redmine.md Normal file
View file

@ -0,0 +1,42 @@
# Redmine
[Redmine](https://redmine.org/) is a flexible project management web application. Written using the Ruby on Rails framework, it is cross-platform and cross-database.
## 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
########################################################################
# #
# redmine #
# #
########################################################################
redmine_enabled: true
redmine_hostname: redmine.example.com
########################################################################
# #
# /redmine #
# #
########################################################################
```
In the example configuration above, we configure the service to be hosted at `https://redmine.example.com`.
## Usage
After installation, you can register your administrator account
You can create additional users (admin-privileged or not) after that.

View file

@ -11,7 +11,8 @@
| [Prometheus Node Exporter](https://github.com/prometheus/node_exporter) | Exporter for machine metrics | [Link](services/prometheus-node-exporter.md) | | [Prometheus Node Exporter](https://github.com/prometheus/node_exporter) | Exporter for machine metrics | [Link](services/prometheus-node-exporter.md) |
| [Postgres](https://www.postgresql.org) | A powerful, open source object-relational database system | [Link](services/postgres.md) | | [Postgres](https://www.postgresql.org) | A powerful, open source object-relational database system | [Link](services/postgres.md) |
| [Postgres Backup](https://github.com/prodrigestivill/docker-postgres-backup-local) | A solution for backing up PostgresSQL to local filesystem with periodic backups. | [Link](services/postgres-backup.md) | | [Postgres Backup](https://github.com/prodrigestivill/docker-postgres-backup-local) | A solution for backing up PostgresSQL to local filesystem with periodic backups. | [Link](services/postgres-backup.md) |
| [Radicale](https://miniflux.app/) | A Free and Open-Source CalDAV and CardDAV Server (solution for hosting contacts and calendars) | [Link](services/radicale.md) | | [Radicale](https://radicale.org/) | A Free and Open-Source CalDAV and CardDAV Server (solution for hosting contacts and calendars) | [Link](services/radicale.md) |
| [Redmine](https://redmine.org/) | A flexible project management web application. | [Link](services/redmine.md) |
| [Redis](https://redis.io/) | An in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. | [Link](services/redis.md) | | [Redis](https://redis.io/) | An in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. | [Link](services/redis.md) |
| [Traefik](https://doc.traefik.io/traefik/) | A container-aware reverse-proxy server | [Link](services/traefik.md) | | [Traefik](https://doc.traefik.io/traefik/) | A container-aware reverse-proxy server | [Link](services/traefik.md) |
| [Vaultwarden](https://github.com/dani-garcia/vaultwarden) | A lightweight unofficial and compatible implementation of the [Bitwarden](https://bitwarden.com/) password manager | [Link](services/vaultwarden.md) | | [Vaultwarden](https://github.com/dani-garcia/vaultwarden) | A lightweight unofficial and compatible implementation of the [Bitwarden](https://bitwarden.com/) password manager | [Link](services/vaultwarden.md) |

View file

@ -36,6 +36,8 @@ devture_systemd_service_manager_services_list_auto: |
+ +
([{'name': (radicale_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'radicale']}] if radicale_enabled else []) ([{'name': (radicale_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'radicale']}] if radicale_enabled else [])
+ +
([{'name': (redmine_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'redmine']}] if redmine_enabled else [])
+
([{'name': (redis_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'redis']}] if redis_enabled else []) ([{'name': (redis_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'redis']}] if redis_enabled else [])
+ +
([{'name': (vaultwarden_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'vaultwarden', 'vaultwarden-server']}] if vaultwarden_enabled else []) ([{'name': (vaultwarden_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'vaultwarden', 'vaultwarden-server']}] if vaultwarden_enabled else [])
@ -71,6 +73,8 @@ devture_postgres_gid: "{{ mash_playbook_gid }}"
devture_postgres_systemd_services_to_stop_for_maintenance_list: | devture_postgres_systemd_services_to_stop_for_maintenance_list: |
{{ {{
([(miniflux_identifier + '.service')] if miniflux_enabled else []) ([(miniflux_identifier + '.service')] if miniflux_enabled else [])
+
([(redmine_identifier + '.service')] if redmine_enabled else [])
}} }}
devture_postgres_managed_databases_auto: | devture_postgres_managed_databases_auto: |
@ -93,6 +97,12 @@ devture_postgres_managed_databases_auto: |
'password': miniflux_database_password, 'password': miniflux_database_password,
}] if miniflux_enabled else []) }] if miniflux_enabled else [])
+ +
([{
'name': redmine_database_name,
'username': redmine_database_username,
'password': redmine_database_password,
}] if redmine_enabled else [])
+
([{ ([{
'name': nextcloud_database_name, 'name': nextcloud_database_name,
'username': nextcloud_database_username, 'username': nextcloud_database_username,
@ -402,7 +412,7 @@ miniflux_database_password: "{{ '%s' | format(mash_playbook_generic_secret_key)
######################################################################## ########################################################################
# # # #
# miniflux # # /miniflux #
# # # #
######################################################################## ########################################################################
@ -580,11 +590,59 @@ radicale_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certReso
######################################################################## ########################################################################
# # # #
# radicale # # /radicale #
# # # #
######################################################################## ########################################################################
########################################################################
# #
# redmine #
# #
########################################################################
redmine_enabled: false
redmine_identifier: "{{ mash_playbook_service_identifier_prefix }}redmine"
redmine_base_path: "{{ mash_playbook_base_path }}/redmine"
redmine_uid: "{{ mash_playbook_uid }}"
redmine_gid: "{{ mash_playbook_gid }}"
redmine_secret_key_base: "{{ '%s' | format(mash_playbook_generic_secret_key) | password_hash('sha512', 'secret.base', rounds=655555) | to_uuid }}"
redmine_secret_token: "{{ '%s' | format(mash_playbook_generic_secret_key) | password_hash('sha512', 'secret.token', rounds=655555) | to_uuid }}"
redmine_database_cipher_key: "{{ '%s' | format(mash_playbook_generic_secret_key) | password_hash('sha512', 'db.cipherkey', rounds=655555) | to_uuid }}"
redmine_systemd_required_services_list: |
{{
(['docker.service'])
+
([devture_postgres_identifier ~ '.service'] if devture_postgres_enabled and redmine_database_hostname == devture_postgres_identifier else [])
}}
redmine_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 redmine_database_hostname == devture_postgres_identifier and redmine_container_network != devture_postgres_container_network else [])
}}
redmine_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}"
redmine_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}"
redmine_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}"
redmine_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}"
redmine_database_type: "{{ 'postgresql' if devture_postgres_enabled else 'sqlite3' }}"
redmine_database_hostname: "{{ devture_postgres_connection_hostname if devture_postgres_enabled else '' }}"
redmine_database_password: "{{ '%s' | format(mash_playbook_generic_secret_key) | password_hash('sha512', 'redmine.db', rounds=655555) | to_uuid }}"
########################################################################
# #
# /redmine #
# #
########################################################################
######################################################################## ########################################################################
# # # #

View file

@ -37,10 +37,10 @@
version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6 version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6
- src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_server.git - src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_server.git
version: v0.15.7-1 version: v0.15.7-2
- src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_agent.git - src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_agent.git
version: v0.15.7-0 version: v0.15.7-1
- src: git+https://gitlab.com/etke.cc/roles/miniflux.git - src: git+https://gitlab.com/etke.cc/roles/miniflux.git
version: v2.0.43-0 version: v2.0.43-0
@ -57,13 +57,16 @@
- src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git - src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git
version: v1.5.0-3 version: v1.5.0-3
- src: git+https://gitlab.com/etke.cc/roles/redmine.git
version: v5.0.5-0
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-vaultwarden.git - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-vaultwarden.git
name: vaultwarden name: vaultwarden
version: v1.27.0-1 version: v1.27.0-2
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-gitea.git - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-gitea.git
name: gitea name: gitea
version: v1.18.5-2 version: v1.18.5-3
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-nextcloud.git - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-nextcloud.git
name: nextcloud name: nextcloud

View file

@ -60,6 +60,8 @@
- role: galaxy/radicale - role: galaxy/radicale
- role: galaxy/redmine
- role: galaxy/redis - role: galaxy/redis
- role: galaxy/vaultwarden - role: galaxy/vaultwarden