Redmine
This commit is contained in:
parent
5b207c9a12
commit
048b860734
6 changed files with 132 additions and 3 deletions
42
docs/services/redmine.md
Normal file
42
docs/services/redmine.md
Normal 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: mash.example.com
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /redmine #
|
||||
# #
|
||||
########################################################################
|
||||
```
|
||||
|
||||
In the example configuration above, we configure the service to be hosted at `https://mash.example.com`.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
After installation, you can register your administrator account
|
||||
|
||||
You can create additional users (admin-privileged or not) after that.
|
|
@ -10,7 +10,8 @@
|
|||
| [PeerTube](https://joinpeertube.org/) | A tool for sharing online videos | [Link](services/peertube.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) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
|
|
|
@ -138,6 +138,29 @@ miniflux_admin_password: a-strong-password-here
|
|||
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# redmine #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
# Learn more about the redmine service in docs/services/redmine.md
|
||||
#
|
||||
# This service is only here as an example. If you don't wish to use the
|
||||
# redmine service, remove the whole section.
|
||||
|
||||
redmine_enabled: true
|
||||
|
||||
redmine_hostname: mash.example.com
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /redmine #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# uptime-kuma #
|
||||
|
|
|
@ -34,6 +34,8 @@ devture_systemd_service_manager_services_list_auto: |
|
|||
+
|
||||
([{'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': (vaultwarden_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'vaultwarden', 'vaultwarden-server']}] if vaultwarden_enabled else [])
|
||||
|
@ -69,6 +71,8 @@ devture_postgres_gid: "{{ mash_playbook_gid }}"
|
|||
devture_postgres_systemd_services_to_stop_for_maintenance_list: |
|
||||
{{
|
||||
([(miniflux_identifier + '.service')] if miniflux_enabled else [])
|
||||
+
|
||||
([(redmine_identifier + '.service')] if redmine_enabled else [])
|
||||
}}
|
||||
|
||||
devture_postgres_managed_databases_auto: |
|
||||
|
@ -91,6 +95,12 @@ devture_postgres_managed_databases_auto: |
|
|||
'password': miniflux_database_password,
|
||||
}] if miniflux_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': redmine_database_name,
|
||||
'username': redmine_database_username,
|
||||
'password': redmine_database_password,
|
||||
}] if redmine_enabled else [])
|
||||
+
|
||||
([{
|
||||
'name': nextcloud_database_name,
|
||||
'username': nextcloud_database_username,
|
||||
|
@ -400,7 +410,7 @@ miniflux_database_password: "{{ '%s' | format(mash_playbook_generic_secret_key)
|
|||
|
||||
########################################################################
|
||||
# #
|
||||
# miniflux #
|
||||
# /miniflux #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
@ -535,11 +545,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 #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
|
|
|
@ -54,6 +54,9 @@
|
|||
- src: git+https://gitlab.com/etke.cc/roles/redis.git
|
||||
version: v7.0.9-0
|
||||
|
||||
- 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
|
||||
name: vaultwarden
|
||||
version: v1.27.0-1
|
||||
|
|
|
@ -58,6 +58,8 @@
|
|||
|
||||
- role: galaxy/radicale
|
||||
|
||||
- role: galaxy/redmine
|
||||
|
||||
- role: galaxy/redis
|
||||
|
||||
- role: galaxy/vaultwarden
|
||||
|
|
Loading…
Reference in a new issue