mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-10 04:25:20 +02:00
Compare commits
4 Commits
944707ec41
...
41d023abee
Author | SHA1 | Date | |
---|---|---|---|
41d023abee | |||
f3439861bb | |||
7a38241485 | |||
993469fd82 |
11
roles/cmp-db-docker-proxy/README.md
Normal file
11
roles/cmp-db-docker-proxy/README.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Database Docker with Web Proxy
|
||||||
|
|
||||||
|
This role builds on `cmp-db-docker` by adding a reverse-proxy frontend for HTTP access to your database service.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Database Composition**
|
||||||
|
Leverages the `cmp-db-docker` role to stand up your containerized database (PostgreSQL, MariaDB, etc.) with backups and user management.
|
||||||
|
|
||||||
|
- **Reverse Proxy**
|
||||||
|
Includes the `srv-web-proxy-domain` role to configure a proxy (e.g. nginx) for routing HTTP(S) traffic to your database UI or management endpoint.
|
15
roles/cmp-db-docker-proxy/meta/main.yml
Normal file
15
roles/cmp-db-docker-proxy/meta/main.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: >
|
||||||
|
Extends cmp-db-docker by adding an HTTP reverse proxy via srv-web-proxy-domain.
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birkenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
galaxy_tags:
|
||||||
|
- docker
|
||||||
|
- database
|
||||||
|
- proxy
|
||||||
|
- compose
|
10
roles/cmp-db-docker-proxy/tasks/main.yml
Normal file
10
roles/cmp-db-docker-proxy/tasks/main.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
- name: "load docker and db for {{application_id}}"
|
||||||
|
include_role:
|
||||||
|
name: cmp-db-docker
|
||||||
|
|
||||||
|
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
||||||
|
include_role:
|
||||||
|
name: srv-web-proxy-domain
|
||||||
|
vars:
|
||||||
|
domain: "{{ domains | get_domain(application_id) }}"
|
||||||
|
http_port: "{{ ports.localhost.http[application_id] }}"
|
11
roles/cmp-docker-proxy/README.md
Normal file
11
roles/cmp-docker-proxy/README.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Docker Compose with Web Proxy
|
||||||
|
|
||||||
|
This role combines the standard Docker Compose setup with a reverse-proxy for any application.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Docker Compose**
|
||||||
|
Brings up containers, networks, and volumes via the `docker-compose` role.
|
||||||
|
|
||||||
|
- **Reverse Proxy**
|
||||||
|
Uses the `srv-web-proxy-domain` role to expose your application under a custom domain and port.
|
15
roles/cmp-docker-proxy/meta/main.yml
Normal file
15
roles/cmp-docker-proxy/meta/main.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: >
|
||||||
|
Combines the docker-compose role with srv-web-proxy-domain to
|
||||||
|
deploy applications behind a reverse proxy.
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birkenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
galaxy_tags:
|
||||||
|
- docker
|
||||||
|
- compose
|
||||||
|
- proxy
|
10
roles/cmp-docker-proxy/tasks/main.yml
Normal file
10
roles/cmp-docker-proxy/tasks/main.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
- name: "include docker-compose role"
|
||||||
|
include_role:
|
||||||
|
name: docker-compose
|
||||||
|
|
||||||
|
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
||||||
|
include_role:
|
||||||
|
name: srv-web-proxy-domain
|
||||||
|
vars:
|
||||||
|
domain: "{{ domains | get_domain(application_id) }}"
|
||||||
|
http_port: "{{ ports.localhost.http[application_id] }}"
|
@@ -1,2 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Installs VLC, libaacs and libbluray for Blu-ray playback on Arch Linux–based systems."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- vlc
|
||||||
|
- bluray
|
||||||
|
- media
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/desk-bluray-player"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- gen-java
|
- gen-java
|
||||||
|
|
||||||
|
@@ -1,2 +1,23 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Installs the qBittorrent torrent client via AUR on Arch Linux."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- qbittorrent
|
||||||
|
- torrent
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/desk-qbittorrent"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- gen-aur-helper
|
- gen-aur-helper
|
||||||
|
|
||||||
|
@@ -1,2 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Installs the Zoom video conferencing client via AUR on Arch Linux."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- zoom
|
||||||
|
- video
|
||||||
|
- conferencing
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/desk-zoom"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- gen-aur-helper
|
- gen-aur-helper
|
||||||
|
|
||||||
|
@@ -1,2 +1,3 @@
|
|||||||
docker_compose_skipp_file_creation: false # If set to true the file creation will be skipped
|
docker_compose_skipp_file_creation: false # If set to true the file creation will be skipped
|
||||||
docker_repository: false # Activates docker repository download and routine
|
docker_repository: false # Activates docker repository download and routine
|
||||||
|
docker_compose_flush_handlers: false # Set to true in the vars/main.yml of the including role to autoflush after docker compose routine
|
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# This could lead to problems in docker-compose directories which are based on a git repository
|
# This could lead to problems in docker-compose directories which are based on a git repository
|
||||||
# @todo Verify that this isn't the case. E.g. in accounting
|
# @todo Verify that this isn't the case. E.g. in accounting
|
||||||
- name: "Create all docker-compose directories (including parent directories)"
|
- name: "Create all docker-compose directories (including parent directories) for '{{ application_id }}'"
|
||||||
file:
|
file:
|
||||||
path: "{{ item.value }}"
|
path: "{{ item.value }}"
|
||||||
state: directory
|
state: directory
|
||||||
@@ -19,3 +19,7 @@
|
|||||||
|
|
||||||
- include_tasks: "files.yml"
|
- include_tasks: "files.yml"
|
||||||
when: not docker_compose_skipp_file_creation | bool
|
when: not docker_compose_skipp_file_creation | bool
|
||||||
|
|
||||||
|
- name: "flush database, docker and proxy for '{{ application_id }}'"
|
||||||
|
meta: flush_handlers
|
||||||
|
when: docker_compose_flush_handlers | bool
|
||||||
|
@@ -1,2 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Provides shared Jinja2 snippets for Docker Compose service definitions (base, networks, healthchecks, depends_on)."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- docker
|
||||||
|
- compose
|
||||||
|
- jinja2
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/docker-container"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- docker-core
|
- docker-core
|
||||||
|
|
||||||
|
@@ -1,2 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Installs Epson multifunction printer drivers and scanning utilities (escpr, imagescan) via Pacman and AUR on Arch Linux."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- epson
|
||||||
|
- printer
|
||||||
|
- scanner
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/drv-epson-multiprinter"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- gen-aur-helper
|
- gen-aur-helper
|
||||||
|
|
||||||
|
@@ -1,3 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Injects Matomo analytics tracking code and noscript image tracker into Nginx-served HTML pages."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- nginx
|
||||||
|
- matomo
|
||||||
|
- analytics
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/srv-web-injector-matomo"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
# - web-app-matomo Don't activate this otherwise the plays take super long
|
|
||||||
- srv-web-core
|
- srv-web-core
|
||||||
|
|
||||||
|
@@ -8,9 +8,9 @@ server
|
|||||||
|
|
||||||
{% include 'roles/srv-web-injector-compose/templates/global.includes.conf.j2'%}
|
{% include 'roles/srv-web-injector-compose/templates/global.includes.conf.j2'%}
|
||||||
|
|
||||||
{% if nginx_docker_reverse_proxy_extra_configuration is defined %}
|
{% if proxy_extra_configuration is defined %}
|
||||||
{# Additional Domain Specific Configuration #}
|
{# Additional Domain Specific Configuration #}
|
||||||
{{nginx_docker_reverse_proxy_extra_configuration}}
|
{{ proxy_extra_configuration }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% include 'roles/net-letsencrypt/templates/ssl_header.j2' %}
|
{% include 'roles/net-letsencrypt/templates/ssl_header.j2' %}
|
||||||
|
@@ -32,6 +32,5 @@
|
|||||||
when: applications | is_feature_enabled('oauth2',application_id)
|
when: applications | is_feature_enabled('oauth2',application_id)
|
||||||
|
|
||||||
- name: "include the web-app-oauth2-proxy role {{domain}}"
|
- name: "include the web-app-oauth2-proxy role {{domain}}"
|
||||||
include_role:
|
include_tasks: "{{ playbook_dir }}/roles/web-app-oauth2-proxy/tasks/main.yml"
|
||||||
name: web-app-oauth2-proxy
|
|
||||||
when: applications | is_feature_enabled('oauth2',application_id)
|
when: applications | is_feature_enabled('oauth2',application_id)
|
@@ -1,2 +1,25 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Deploys Let’s Encrypt certificates into Docker Compose Nginx setups via systemd service and timer."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- nginx
|
||||||
|
- letsencrypt
|
||||||
|
- docker
|
||||||
|
- systemd
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/srv-web-proxy-tls-deploy"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- alert-compose
|
- alert-compose
|
||||||
|
|
||||||
|
23
roles/utils-desk-browser-firefox/meta/main.yml
Normal file
23
roles/utils-desk-browser-firefox/meta/main.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Automates Firefox installation and enforces Enterprise Policies (auto-install extensions) on Arch Linux."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- firefox
|
||||||
|
- enterprise-policy
|
||||||
|
- browser
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/utils-desk-browser-firefox"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions: [ rolling ]
|
||||||
|
dependencies: []
|
||||||
|
|
@@ -1,2 +1,25 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Installs designer tools such as GIMP, Blender, and Draw.io via AUR on Arch Linux."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- gimp
|
||||||
|
- blender
|
||||||
|
- drawio
|
||||||
|
- design
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/utils-desk-design"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- gen-aur-helper
|
- gen-aur-helper
|
||||||
|
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: "include tasks update-repository-with-files.yml"
|
- name: "include tasks update-repository-with-files.yml"
|
||||||
include_tasks: utils/update-repository-with-files.yml
|
include_tasks: utils/update-repository-with-files.yml
|
||||||
|
@@ -1,11 +1,4 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
@@ -1,5 +1,3 @@
|
|||||||
application_id: "baserow"
|
application_id: "baserow"
|
||||||
database_password: "{{ baserow_database_password }}"
|
database_password: "{{ baserow_database_password }}"
|
||||||
database_type: "postgres"
|
database_type: "postgres"
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
22
roles/web-app-chess/meta/main.yml
Normal file
22
roles/web-app-chess/meta/main.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Stub role for deploying a Chess web application via Docker Compose (implementation pending)."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- chess
|
||||||
|
- docker
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/web-app-chess"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
|
dependencies: []
|
||||||
|
|
@@ -1,11 +1,4 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
@@ -10,29 +10,9 @@
|
|||||||
state: present
|
state: present
|
||||||
when: run_once_docker_discourse is not defined
|
when: run_once_docker_discourse is not defined
|
||||||
|
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
when: run_once_docker_discourse is not defined
|
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
when: run_once_docker_discourse is not defined
|
|
||||||
|
|
||||||
- name: add docker-compose.yml
|
|
||||||
template:
|
|
||||||
src: docker-compose.yml.j2
|
|
||||||
dest: "{{docker_compose.directories.instance}}docker-compose.yml"
|
|
||||||
notify:
|
|
||||||
- docker compose up
|
|
||||||
when: run_once_docker_discourse is not defined
|
|
||||||
|
|
||||||
- name: flush, to recreate discourse docker compose
|
|
||||||
meta: flush_handlers
|
|
||||||
when: run_once_docker_discourse is not defined
|
when: run_once_docker_discourse is not defined
|
||||||
|
|
||||||
- name: pull docker repository
|
- name: pull docker repository
|
||||||
|
@@ -3,3 +3,4 @@ database_password: "{{ applications[application_id].credent
|
|||||||
database_type: "postgres"
|
database_type: "postgres"
|
||||||
docker_repository_directory : "{{docker_compose.directories.services}}{{applications[application_id].repository}}/"
|
docker_repository_directory : "{{docker_compose.directories.services}}{{applications[application_id].repository}}/"
|
||||||
discourse_application_yml_destination: "{{docker_repository_directory }}containers/{{applications[application_id].container}}.yml"
|
discourse_application_yml_destination: "{{docker_repository_directory }}containers/{{applications[application_id].container}}.yml"
|
||||||
|
docker_compose_flush_handlers: false
|
@@ -1,18 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "Include setup for domain '{{ domain }}'"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
ws_path: "/ws"
|
|
||||||
ws_port: "{{ ports.localhost.websocket[application_id] }}"
|
|
||||||
client_max_body_size: "100m"
|
|
||||||
vhost_flavour: "ws_generic"
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: Set OIDC scopes in EspoCRM config (inside web container)
|
- name: Set OIDC scopes in EspoCRM config (inside web container)
|
||||||
ansible.builtin.shell: |
|
ansible.builtin.shell: |
|
||||||
|
@@ -1,3 +1,6 @@
|
|||||||
application_id: "espocrm"
|
application_id: "espocrm"
|
||||||
# EspoCRM uses MySQL/MariaDB
|
|
||||||
database_type: "mariadb"
|
database_type: "mariadb"
|
||||||
|
ws_path: "/ws"
|
||||||
|
ws_port: "{{ ports.localhost.websocket[application_id] }}"
|
||||||
|
client_max_body_size: "100m"
|
||||||
|
vhost_flavour: "ws_generic"
|
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "create {{ friendica_host_ldap_config }}"
|
- name: "create {{ friendica_host_ldap_config }}"
|
||||||
template:
|
template:
|
||||||
@@ -14,13 +14,6 @@
|
|||||||
notify: docker compose up
|
notify: docker compose up
|
||||||
when: applications | is_feature_enabled('ldap',application_id)
|
when: applications | is_feature_enabled('ldap',application_id)
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: Build friendica_addons based on features
|
- name: Build friendica_addons based on features
|
||||||
set_fact:
|
set_fact:
|
||||||
friendica_addons: >-
|
friendica_addons: >-
|
||||||
|
@@ -1,13 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
application_id: "funkwhale"
|
application_id: "funkwhale"
|
||||||
nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 512M;"
|
proxy_extra_configuration: "client_max_body_size 512M;"
|
||||||
database_type: "postgres"
|
database_type: "postgres"
|
||||||
funkwhale_media_root: "/srv/funkwhale/data/"
|
funkwhale_media_root: "/srv/funkwhale/data/"
|
||||||
funkwhale_static_root: "{{funkwhale_media_root}}static"
|
funkwhale_static_root: "{{funkwhale_media_root}}static"
|
||||||
|
@@ -1,10 +1,3 @@
|
|||||||
- name: "include docker-compose role"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: Wait for Gitea HTTP endpoint
|
- name: Wait for Gitea HTTP endpoint
|
||||||
wait_for:
|
wait_for:
|
||||||
|
@@ -1,11 +1,4 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
@@ -1,11 +1,4 @@
|
|||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
loop: "{{ domains }}"
|
loop: "{{ domains }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: domain
|
loop_var: domain
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: "create directory {{import_directory_host}}"
|
- name: "create directory {{import_directory_host}}"
|
||||||
file:
|
file:
|
||||||
|
@@ -1,10 +1,3 @@
|
|||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for {{ application_id }} "
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
@@ -1,24 +1,6 @@
|
|||||||
---
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: "include docker-compose role"
|
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-db-docker-proxy
|
||||||
when: run_once_docker_libretranslate is not defined
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
when: run_once_docker_libretranslate is not defined
|
when: run_once_docker_libretranslate is not defined
|
||||||
|
|
||||||
- name: run the libretranslate tasks once
|
- name: run the libretranslate tasks once
|
||||||
|
@@ -1,23 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: Set proxy_extra_configuration based on applications[application_id].public_api_activated
|
||||||
include_role:
|
|
||||||
name: cmp-db-docker
|
|
||||||
|
|
||||||
- name: Set nginx_docker_reverse_proxy_extra_configuration based on applications[application_id].public_api_activated
|
|
||||||
set_fact:
|
set_fact:
|
||||||
nginx_docker_reverse_proxy_extra_configuration: >-
|
proxy_extra_configuration: >-
|
||||||
{% if not applications[application_id].public_api_activated %}
|
{% if not applications[application_id].public_api_activated %}
|
||||||
{{ lookup('file', '{{ role_path }}/files/deactivate-public-api.conf') }}
|
{{ lookup('file', '{{ role_path }}/files/deactivate-public-api.conf') }}
|
||||||
{% else %}
|
{% else %}
|
||||||
""
|
""
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: srv-web-proxy-domain
|
name: cmp-db-docker-proxy
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: add config.toml
|
- name: add config.toml
|
||||||
template:
|
template:
|
||||||
@@ -25,6 +18,8 @@
|
|||||||
dest: "{{docker_compose.directories.config}}config.toml"
|
dest: "{{docker_compose.directories.config}}config.toml"
|
||||||
notify: docker compose up
|
notify: docker compose up
|
||||||
|
|
||||||
|
- meta: flush_handlers
|
||||||
|
|
||||||
- name: Check if listmonk database is already initialized
|
- name: Check if listmonk database is already initialized
|
||||||
command: docker compose exec -T {{database_host}} psql -U {{database_username}} -d {{database_name}} -c "\dt"
|
command: docker compose exec -T {{database_host}} psql -U {{database_username}} -d {{database_name}} -c "\dt"
|
||||||
register: db_tables
|
register: db_tables
|
||||||
|
@@ -1,16 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
when: run_once_docker_mailu is not defined
|
|
||||||
|
|
||||||
- name: "Include role srv-web-proxy-domain for {{ application_id }}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 31M;"
|
|
||||||
when: run_once_docker_mailu is not defined
|
when: run_once_docker_mailu is not defined
|
||||||
|
|
||||||
- name: "Include the srv-web-proxy-tls-deploy role"
|
- name: "Include the srv-web-proxy-tls-deploy role"
|
||||||
|
@@ -12,3 +12,4 @@ docker_source: "{{ 'ghcr.io/heviat' if applications | is_feature_enab
|
|||||||
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
domain: "{{ domains | get_domain(application_id) }}"
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
http_port: "{{ ports.localhost.http[application_id] }}"
|
||||||
|
proxy_extra_configuration: "client_max_body_size 31M;"
|
@@ -1,13 +1,6 @@
|
|||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: flush docker service
|
- name: flush docker service
|
||||||
meta: flush_handlers
|
meta: flush_handlers
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: add docker-compose.yml
|
- name: add docker-compose.yml
|
||||||
template: src=docker-compose.yml.j2 dest={{docker_compose.directories.instance}}docker-compose.yml
|
template: src=docker-compose.yml.j2 dest={{docker_compose.directories.instance}}docker-compose.yml
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: add config.exs
|
- name: add config.exs
|
||||||
template:
|
template:
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: Wait until the Moodle container is healthy
|
- name: Wait until the Moodle container is healthy
|
||||||
shell: docker inspect --format '{% raw %}{{.State.Health.Status}}{% endraw %}' {{ container_name }}
|
shell: docker inspect --format '{% raw %}{{.State.Health.Status}}{% endraw %}' {{ container_name }}
|
||||||
|
@@ -10,4 +10,4 @@
|
|||||||
dest: "{{nginx.directories.http.servers}}{{domains | get_domain(application_id)}}.conf"
|
dest: "{{nginx.directories.http.servers}}{{domains | get_domain(application_id)}}.conf"
|
||||||
notify: restart nginx
|
notify: restart nginx
|
||||||
vars:
|
vars:
|
||||||
nginx_docker_reverse_proxy_extra_configuration: "sub_filter '{{source_domain}}' '{{domains | get_domain(application_id)}}';"
|
proxy_extra_configuration: "sub_filter '{{source_domain}}' '{{domains | get_domain(application_id)}}';"
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
- name: "Transfering oauth2-proxy-keycloak.cfg.j2 to {{(path_docker_compose_instances | get_docker_compose(oauth2_proxy_application_id)).directories.volumes}}"
|
- name: "Transfering oauth2-proxy-keycloak.cfg.j2 to {{(path_docker_compose_instances | get_docker_compose(application_id)).directories.volumes}}"
|
||||||
template:
|
template:
|
||||||
src: oauth2-proxy-keycloak.cfg.j2
|
src: "{{ playbook_dir }}/roles/web-app-oauth2-proxy/templates/oauth2-proxy-keycloak.cfg.j2"
|
||||||
dest: "{{(path_docker_compose_instances | get_docker_compose(oauth2_proxy_application_id)).directories.volumes}}{{applications[application_id].configuration_file}}"
|
dest: "{{(path_docker_compose_instances | get_docker_compose(application_id)).directories.volumes}}{{applications['oauth2-proxy'].configuration_file}}"
|
||||||
notify:
|
notify:
|
||||||
- docker compose up
|
- docker compose up
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: "Create {{openproject_plugins_folder}}"
|
- name: "Create {{openproject_plugins_folder}}"
|
||||||
file:
|
file:
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: "configure pgadmin servers"
|
- name: "configure pgadmin servers"
|
||||||
include_tasks: configuration.yml
|
include_tasks: configuration.yml
|
||||||
|
@@ -1,10 +1,3 @@
|
|||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
@@ -1,11 +1,4 @@
|
|||||||
---
|
---
|
||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
@@ -1,11 +1,4 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
application_id: "pixelfed"
|
application_id: "pixelfed"
|
||||||
nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 512M;"
|
proxy_extra_configuration: "client_max_body_size 512M;"
|
||||||
database_type: "mariadb"
|
database_type: "mariadb"
|
||||||
|
@@ -1,16 +1,8 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
when: run_once_docker_portfolio is not defined
|
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
when: run_once_docker_portfolio is not defined
|
when: run_once_docker_portfolio is not defined
|
||||||
|
|
||||||
- name: "Check if host-specific config.yaml exists in {{ config_inventory_path }}"
|
- name: "Check if host-specific config.yaml exists in {{ config_inventory_path }}"
|
||||||
|
@@ -14,16 +14,9 @@
|
|||||||
command: pkgmgr path cymais
|
command: pkgmgr path cymais
|
||||||
register: path_cymais_output
|
register: path_cymais_output
|
||||||
|
|
||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
# Hack because it wasn't possible to fix an handler bug in pkgmgr install
|
# Hack because it wasn't possible to fix an handler bug in pkgmgr install
|
||||||
- name: „Trigger“ docker compose up
|
- name: „Trigger“ docker compose up
|
||||||
|
@@ -1,24 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
- name: "load docker and db for {{application_id}}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: "include docker-compose role"
|
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-db-docker
|
||||||
when: run_once_docker_pretix is not defined
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
when: run_once_docker_pretix is not defined
|
when: run_once_docker_pretix is not defined
|
||||||
|
|
||||||
- name: run the pretix tasks once
|
- name: run the pretix tasks once
|
||||||
|
23
roles/web-app-redis/meta/main.yml
Normal file
23
roles/web-app-redis/meta/main.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Provides a Docker Compose snippet for a Redis service (redis:alpine) with volume, healthcheck and logging."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- redis
|
||||||
|
- docker
|
||||||
|
- cache
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/web-app-redis"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
|
dependencies: []
|
||||||
|
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
|
|
||||||
- name: "Configure Snipe-IT LDAP settings"
|
- name: "Configure Snipe-IT LDAP settings"
|
||||||
|
@@ -11,16 +11,9 @@
|
|||||||
command: pkgmgr path cymais-sphinx
|
command: pkgmgr path cymais-sphinx
|
||||||
register: path_cymais_sphinx_output
|
register: path_cymais_sphinx_output
|
||||||
|
|
||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
# Hack because it wasn't possible to fix an handler bug in pkgmgr install
|
# Hack because it wasn't possible to fix an handler bug in pkgmgr install
|
||||||
- name: „Trigger“ docker compose up
|
- name: „Trigger“ docker compose up
|
||||||
|
@@ -8,9 +8,9 @@ server
|
|||||||
|
|
||||||
{% include 'roles/srv-web-injector-compose/templates/global.includes.conf.j2'%}
|
{% include 'roles/srv-web-injector-compose/templates/global.includes.conf.j2'%}
|
||||||
|
|
||||||
{% if nginx_docker_reverse_proxy_extra_configuration is defined %}
|
{% if proxy_extra_configuration is defined %}
|
||||||
{# Additional Domain Specific Configuration #}
|
{# Additional Domain Specific Configuration #}
|
||||||
{{nginx_docker_reverse_proxy_extra_configuration}}
|
{{ proxy_extra_configuration }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% include 'roles/net-letsencrypt/templates/ssl_header.j2' %}
|
{% include 'roles/net-letsencrypt/templates/ssl_header.j2' %}
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
- name: "copy templates {{ settings_files }} for taiga-contrib-oidc-auth"
|
- name: "copy templates {{ settings_files }} for taiga-contrib-oidc-auth"
|
||||||
template:
|
template:
|
||||||
|
@@ -10,7 +10,7 @@
|
|||||||
loop_control:
|
loop_control:
|
||||||
loop_var: domain
|
loop_var: domain
|
||||||
vars:
|
vars:
|
||||||
nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size {{ wordpress_max_upload_size }};"
|
proxy_extra_configuration: "client_max_body_size {{ wordpress_max_upload_size }};"
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
http_port: "{{ ports.localhost.http[application_id] }}"
|
||||||
|
|
||||||
- name: "Transfering upload.ini to {{ docker_compose.directories.instance }}"
|
- name: "Transfering upload.ini to {{ docker_compose.directories.instance }}"
|
||||||
|
@@ -1,12 +1,5 @@
|
|||||||
---
|
---
|
||||||
- name: "load docker and db for {{application_id}}"
|
- name: "load docker, db and proxy for {{application_id}}"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
|
|
||||||
|
@@ -1,2 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Configures Nginx to perform 301 redirects based on a list of source→target domain mappings."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- nginx
|
||||||
|
- redirect
|
||||||
|
- domains
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/web-redirect-domains"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- srv-web-https
|
- srv-web-https
|
||||||
|
|
||||||
|
@@ -1,2 +1,24 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birchenbach"
|
||||||
|
description: "Deploys a legal imprint (Impressum) page in Nginx from a Jinja2 template."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birchenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- nginx
|
||||||
|
- legal
|
||||||
|
- imprint
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||||
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||||
|
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/web-svc-legal"
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Any
|
||||||
|
versions: [ all ]
|
||||||
dependencies:
|
dependencies:
|
||||||
- web-svc-html
|
- web-svc-html
|
||||||
|
|
||||||
|
@@ -1,15 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: "include docker-compose role"
|
- name: "include docker and reverse proxy for '{{ application_id }}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-docker-proxy
|
||||||
when: run_once_docker_simpleicons is not defined
|
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
when: run_once_docker_simpleicons is not defined
|
when: run_once_docker_simpleicons is not defined
|
||||||
|
|
||||||
- name: "Copy '{{ application_id }}' files"
|
- name: "Copy '{{ application_id }}' files"
|
||||||
|
@@ -1,36 +1,21 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
{% if database_type | bool %}
|
{% if database_type | bool %}
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
- name: "load docker and db for {{application_id}}"
|
# Default: Loading; Docker, Database and Reverse Proxy
|
||||||
|
- name: "load docker, db and proxy for '{{application_id}}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: cmp-db-docker
|
name: cmp-db-docker-proxy
|
||||||
when: run_once_docker_{% endraw %}{{ application_id }}{% raw %} is not defined
|
when: run_once_docker_{% endraw %}{{ application_id }}{% raw %} is not defined
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
- name: "include docker-compose role"
|
- name: "load docker, proxy for '{{application_id}}'"
|
||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: cmp-db-docker-proxy
|
||||||
when: run_once_docker_{% endraw %}{{ application_id }}{% raw %} is not defined
|
when: run_once_docker_{% endraw %}{{ application_id }}{% raw %} is not defined
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
- name: "include role srv-web-proxy-domain for {{application_id}}"
|
|
||||||
include_role:
|
|
||||||
name: srv-web-proxy-domain
|
|
||||||
vars:
|
|
||||||
domain: "{{ domains | get_domain(application_id) }}"
|
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
|
||||||
when: run_once_docker_{% endraw %}{{ application_id }}{% raw %} is not defined
|
|
||||||
|
|
||||||
- name: run the {% endraw %}{{ application_id }}{% raw %} tasks once
|
- name: run the {% endraw %}{{ application_id }}{% raw %} tasks once
|
||||||
set_fact:
|
set_fact:
|
||||||
run_once_docker_{% endraw %}{{ application_id }}{% raw %}: true
|
run_once_docker_{% endraw %}{{ application_id }}{% raw %}: true
|
||||||
|
Reference in New Issue
Block a user