mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-22 16:02:24 +02:00
Compare commits
4 Commits
150e15625d
...
8e18a5c1e3
Author | SHA1 | Date | |
---|---|---|---|
8e18a5c1e3 | |||
2183038240 | |||
33a8d8b579 | |||
2ca000795d |
@ -1,12 +1,12 @@
|
|||||||
# License Agreement
|
# License Agreement
|
||||||
|
|
||||||
**CyMaIS NonCommercial License (CNCL)**
|
## CyMaIS NonCommercial License (CNCL)
|
||||||
|
|
||||||
## Definitions
|
### Definitions
|
||||||
- **"Software":** Refers to *"[CyMaIS - Cyber Master Infrastructure Solution](https://cymais.cloud/)"* and its associated source code.
|
- **"Software":** Refers to *"[CyMaIS - Cyber Master Infrastructure Solution](https://cymais.cloud/)"* and its associated source code.
|
||||||
- **"Commercial Use":** Any use of the Software intended for direct or indirect financial gain, including but not limited to sales, rentals, or provision of services.
|
- **"Commercial Use":** Any use of the Software intended for direct or indirect financial gain, including but not limited to sales, rentals, or provision of services.
|
||||||
|
|
||||||
## Provisions
|
### Provisions
|
||||||
|
|
||||||
1. **Attribution of the Original Licensor:** In any distribution or publication of the Software or derivative works, the original licensor, *Kevin Veen-Birkenbach, Email: [license@veen.world](mailto:license@veen.world), Website: [https://www.veen.world/](https://www.veen.world/)* must be explicitly named.
|
1. **Attribution of the Original Licensor:** In any distribution or publication of the Software or derivative works, the original licensor, *Kevin Veen-Birkenbach, Email: [license@veen.world](mailto:license@veen.world), Website: [https://www.veen.world/](https://www.veen.world/)* must be explicitly named.
|
||||||
|
|
||||||
@ -25,5 +25,5 @@
|
|||||||
|
|
||||||
7. **Ownership of Rights:** All rights, including copyright, trademark, and other forms of intellectual property related to the Software, belong exclusively to Kevin Veen-Birkenbach.
|
7. **Ownership of Rights:** All rights, including copyright, trademark, and other forms of intellectual property related to the Software, belong exclusively to Kevin Veen-Birkenbach.
|
||||||
|
|
||||||
## Consent
|
### Consent
|
||||||
By using, modifying, or distributing the Software, you agree to these terms.
|
By using, modifying, or distributing the Software, you agree to these terms.
|
@ -706,7 +706,7 @@ defaults_applications:
|
|||||||
## Presentation
|
## Presentation
|
||||||
presentation:
|
presentation:
|
||||||
matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking
|
matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking
|
||||||
css_enabled: "{{css_enabled_default}}" # Enables\Disables Global CSS Style
|
css_enabled: False # Would mess with the presentation layout
|
||||||
landingpage_iframe_enabled: False # Makes sense to make the documentary allways in iframe available
|
landingpage_iframe_enabled: False # Makes sense to make the documentary allways in iframe available
|
||||||
|
|
||||||
# Snipe-IT
|
# Snipe-IT
|
||||||
|
@ -22,6 +22,3 @@ galaxy_info:
|
|||||||
repository: "https://s.veen.world/cymais"
|
repository: "https://s.veen.world/cymais"
|
||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
- name: install directory-validator
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install directory-validator --clone-mode https"
|
name: pkgmgr-install
|
||||||
|
vars:
|
||||||
|
package_name: directory-validator
|
||||||
when: run_once_backup_directory_validator is not defined
|
when: run_once_backup_directory_validator is not defined
|
||||||
|
|
||||||
- name: run the backup_directory_validator tasks once
|
- name: run the backup_directory_validator tasks once
|
||||||
|
@ -27,5 +27,4 @@ dependencies:
|
|||||||
- systemd-notifier
|
- systemd-notifier
|
||||||
- cleanup-failed-docker-backups
|
- cleanup-failed-docker-backups
|
||||||
- system-maintenance-lock
|
- system-maintenance-lock
|
||||||
- backup-directory-validator
|
- backup-directory-validator
|
||||||
- package-manager
|
|
@ -1,6 +1,8 @@
|
|||||||
- name: install backup-docker-to-local
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install backup-docker-to-local --clone-mode https"
|
name: pkgmgr-install
|
||||||
|
vars:
|
||||||
|
package_name: backup-docker-to-local
|
||||||
when: run_once_backup_docker_to_local is not defined
|
when: run_once_backup_docker_to_local is not defined
|
||||||
|
|
||||||
- name: Retrieve backup-docker-to-local path from pkgmgr
|
- name: Retrieve backup-docker-to-local path from pkgmgr
|
||||||
|
@ -23,6 +23,3 @@ galaxy_info:
|
|||||||
repository: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner"
|
repository: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner"
|
||||||
issue_tracker_url: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner/issues"
|
issue_tracker_url: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner/issues"
|
||||||
documentation: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner#readme"
|
documentation: "https://github.com/kevinveenbirkenbach/docker-volume-cleaner#readme"
|
||||||
|
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
- name: install dockreap
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install dockreap"
|
name: pkgmgr-install
|
||||||
|
vars:
|
||||||
|
package_name: dockreap
|
||||||
when: run_once_cleanup_docker_anonymous_volumes is not defined
|
when: run_once_cleanup_docker_anonymous_volumes is not defined
|
||||||
|
|
||||||
- name: run dockreap with --no-confirmation
|
- name: run dockreap with --no-confirmation
|
||||||
|
@ -25,4 +25,3 @@ dependencies:
|
|||||||
- systemd-notifier
|
- systemd-notifier
|
||||||
- system-maintenance-lock
|
- system-maintenance-lock
|
||||||
- backup-directory-validator
|
- backup-directory-validator
|
||||||
- package-manager
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
- name: install cleanup-failed-docker-backups
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install cleanup-failed-docker-backups --clone-mode https"
|
name: pkgmgr-install
|
||||||
|
vars:
|
||||||
|
package_name: cleanup-failed-docker-backups
|
||||||
when: run_once_cleanup_failed_docker_backups is not defined
|
when: run_once_cleanup_failed_docker_backups is not defined
|
||||||
|
|
||||||
- name: Retrieve backup-docker-to-local path from pkgmgr
|
- name: Retrieve backup-docker-to-local path from pkgmgr
|
||||||
|
@ -13,7 +13,7 @@ The purpose of this role is to automate the installation and configuration of Gi
|
|||||||
- **Automated Git Installation:** Installs Git using Pacman.
|
- **Automated Git Installation:** Installs Git using Pacman.
|
||||||
- **Custom Git Configuration:** Invokes the git-configurator tool to merge user-specific configuration options.
|
- **Custom Git Configuration:** Invokes the git-configurator tool to merge user-specific configuration options.
|
||||||
- **Idempotent Task Execution:** Uses host-level run-once artifacts to ensure that configuration tasks are executed only once per host.
|
- **Idempotent Task Execution:** Uses host-level run-once artifacts to ensure that configuration tasks are executed only once per host.
|
||||||
- **Integration:** Works alongside the package-manager role to streamline overall system setup.
|
- **Integration:** Works alongside the pkgmgr role to streamline overall system setup.
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
|
@ -17,6 +17,4 @@ galaxy_info:
|
|||||||
- git
|
- git
|
||||||
- configuration
|
- configuration
|
||||||
- pacman
|
- pacman
|
||||||
- personal-computer
|
- personal-computer
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
@ -4,11 +4,11 @@
|
|||||||
state: present
|
state: present
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: install gitconfig
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install gitconfig --clone-mode https"
|
name: pkgmgr-install
|
||||||
when: run_once_gitconfig is not defined
|
vars:
|
||||||
become: true
|
package_name: gitconfig
|
||||||
|
|
||||||
- name: setup git
|
- name: setup git
|
||||||
command: gitconfig --merge-option rebase --name "{{users.client.full_name}}" --email "{{users.client.email}}" --website "{{users.client.website}}" --signing gpg --gpg-key "{{users.client.gpg}}"
|
command: gitconfig --merge-option rebase --name "{{users.client.full_name}}" --email "{{users.client.email}}" --website "{{users.client.website}}" --signing gpg --gpg-key "{{users.client.gpg}}"
|
||||||
|
@ -16,6 +16,4 @@ galaxy_info:
|
|||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- gnome
|
- gnome
|
||||||
- extensions
|
- extensions
|
||||||
- automation
|
- automation
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
@ -2,10 +2,11 @@
|
|||||||
ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false
|
ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false
|
||||||
become: false
|
become: false
|
||||||
|
|
||||||
- name: install cli-gnome-extension-manager
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install cli-gnome-extension-manager --clone-mode https"
|
name: pkgmgr-install
|
||||||
become: false
|
vars:
|
||||||
|
package_name: cli-gnome-extension-manager
|
||||||
|
|
||||||
- name: Execute CLI GNOME Extension manager script
|
- name: Execute CLI GNOME Extension manager script
|
||||||
ansible.builtin.shell: cli-gnome-extension-manager "{{ item[0] }}" "{{ item[1] }}" "{{ item[2] }}"
|
ansible.builtin.shell: cli-gnome-extension-manager "{{ item[0] }}" "{{ item[1] }}" "{{ item[2] }}"
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
# Docker Attendize (WIP)
|
# Attendize
|
||||||
|
|
||||||
|
## Warning
|
||||||
|
|
||||||
> **Note:** This role is a work in progress. Use with caution and check for updates.
|
> **Note:** This role is a work in progress. Use with caution and check for updates.
|
||||||
|
|
||||||
|
1
roles/docker-attendize/TODO.md
Normal file
1
roles/docker-attendize/TODO.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
- Implement this role
|
@ -22,7 +22,8 @@ galaxy_info:
|
|||||||
- sso
|
- sso
|
||||||
- oidc
|
- oidc
|
||||||
- ldap
|
- ldap
|
||||||
- archlinux
|
- video
|
||||||
|
- conference
|
||||||
repository: https://s.veen.world/cymais
|
repository: https://s.veen.world/cymais
|
||||||
issue_tracker_url: https://s.veen.world/cymaisissues
|
issue_tracker_url: https://s.veen.world/cymaisissues
|
||||||
documentation: https://s.veen.world/cymais
|
documentation: https://s.veen.world/cymais
|
||||||
|
@ -11,7 +11,7 @@ galaxy_info:
|
|||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- bluesky
|
- bluesky
|
||||||
- docker
|
- docker
|
||||||
- social networking
|
- social network
|
||||||
- decentralized
|
- decentralized
|
||||||
repository: https://s.veen.world/cymais
|
repository: https://s.veen.world/cymais
|
||||||
issue_tracker_url: https://s.veen.world/cymaisissues
|
issue_tracker_url: https://s.veen.world/cymaisissues
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Docker Central Database 🐳
|
# Central Database
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Docker Compose 🧱
|
# Docker Compose
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -1,8 +1,34 @@
|
|||||||
# DRAFT docker-elk
|
# ELK Stack
|
||||||
|
|
||||||
I decided against using this role for security reasons. I recommend to use another tool if you don't want to pay for keeping your logs save and if you don't want to depend on external servers.
|
## Warning
|
||||||
|
For security reasons, this role is not recommended. If you prefer to keep your logs safe without relying on external servers, consider using an alternative tool.
|
||||||
|
|
||||||
## see
|
## Overview
|
||||||
- https://logz.io/blog/elk-stack-on-docker/
|
This Ansible role deploys and configures an [ELK Stack](https://en.wikipedia.org/wiki/Elastic_stack) (comprising [Elasticsearch](https://en.wikipedia.org/wiki/Elasticsearch), [Logstash](https://en.wikipedia.org/wiki/Elastic_stack), and [Kibana](https://en.wikipedia.org/wiki/Kibana)) using [Docker Compose](https://en.wikipedia.org/wiki/Docker_Compose). The ELK Stack is widely used for centralized log collection, analysis, and visualization of log and machine-generated data.
|
||||||
- https://github.com/kevinveenbirkenbach/docker-elk
|
|
||||||
- https://logz.io/blog/docker-logging/
|
## Description
|
||||||
|
This role performs the following tasks:
|
||||||
|
- **Setup & Configuration:** Installs and configures the three main components—Elasticsearch, Logstash, and Kibana.
|
||||||
|
- **Template-Driven Adjustments:** Adapts configuration files through templates and variables.
|
||||||
|
- **Docker Integration:** Deploys the stack using Docker Compose, integrating it into your containerized environment.
|
||||||
|
- **Service Management:** Handles service restarts and updates through Ansible handlers.
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
The ELK Stack is primarily used for:
|
||||||
|
- **Centralized Log Management:** Consolidating logs from various systems into one location.
|
||||||
|
- **Real-Time Troubleshooting:** Quickly diagnosing issues through live log analysis.
|
||||||
|
- **Performance Monitoring:** Tracking system performance and identifying anomalies.
|
||||||
|
- **Security Analysis:** Detecting and investigating security incidents based on log data.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
- **Centralized Log Management:** Collects and aggregates logs from disparate systems.
|
||||||
|
- **Real-Time Analysis:** Leverages Elasticsearch for fast data search and analytics.
|
||||||
|
- **Flexible Data Pipelines:** Processes and transforms log data with Logstash.
|
||||||
|
- **Interactive Visualization:** Creates dashboards and visual reports with Kibana.
|
||||||
|
- **Scalable & Extensible:** Easily integrates additional tools and custom configurations via templates.
|
||||||
|
|
||||||
|
## Credits 📝
|
||||||
|
Developed and maintained by **Kevin Veen-Birkenbach**.
|
||||||
|
For more information, visit [www.veen.world](https://www.veen.world).
|
||||||
|
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais).
|
||||||
|
License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl)
|
1
roles/docker-elk/TODO.md
Normal file
1
roles/docker-elk/TODO.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
- implement
|
@ -1,2 +1,23 @@
|
|||||||
dependencies:
|
---
|
||||||
- nginx-docker-reverse-proxy
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: "Transform online learning and collaboration with BigBlueButton, an interactive web conferencing solution designed to energize virtual classrooms and meetings. Enjoy dynamic tools and an engaging environment that makes every session a powerful learning experience."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birkenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Docker
|
||||||
|
versions:
|
||||||
|
- "latest"
|
||||||
|
galaxy_tags:
|
||||||
|
- elk
|
||||||
|
- docker
|
||||||
|
- log-management
|
||||||
|
- administration
|
||||||
|
repository: "https://s.veen.world/cymais"
|
||||||
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
@ -11,7 +11,7 @@ galaxy_info:
|
|||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- friendica
|
- friendica
|
||||||
- docker
|
- docker
|
||||||
- social networking
|
- social network
|
||||||
- decentralized
|
- decentralized
|
||||||
repository: https://s.veen.world/cymais
|
repository: https://s.veen.world/cymais
|
||||||
issue_tracker_url: https://s.veen.world/cymaisissues
|
issue_tracker_url: https://s.veen.world/cymaisissues
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# DRAFT FusionDirectory DRAFT🐳
|
# FusionDirectory
|
||||||
|
|
||||||
# TODO
|
# Warning
|
||||||
This needs to be implemented
|
This application isn't implemented yet
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
1
roles/docker-fusiondirectory/TODO.md
Normal file
1
roles/docker-fusiondirectory/TODO.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
- Implement this role
|
@ -11,9 +11,11 @@ galaxy_info:
|
|||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- mastodon
|
- mastodon
|
||||||
- docker
|
- docker
|
||||||
- social networking
|
|
||||||
- federated
|
- federated
|
||||||
- decentralized
|
- decentralized
|
||||||
|
- microblog
|
||||||
|
- social network
|
||||||
|
|
||||||
repository: "https://s.veen.world/cymais"
|
repository: "https://s.veen.world/cymais"
|
||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
@ -1,12 +1,36 @@
|
|||||||
# Docker Setup Matrix via Ansible
|
# Matrix (Ansible)
|
||||||
|
|
||||||
|
## Warning
|
||||||
|
This role is experimental and may not be actively maintained. Use it with caution in production environments. For a more stable deployment, please consider using the Matrix Compose role or another alternative solution.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Step into the future of communication with Matrix, a dynamic and decentralized platform that delivers secure, real-time messaging and collaboration. This role deploys a Matrix homeserver using Ansible automation. Benefit from a federated architecture, end-to-end encryption, and versatile bridging support that connects you globally—all while safeguarding your data.
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document serves as the README for the `docker-ansible-matrix` role, a part of the `CyMaIS` project. This role automates the deployment of a Matrix server using Ansible.
|
This role automates the deployment and configuration of a Matrix homeserver with Ansible. It sets up the Synapse server along with essential components such as bridges and the Element web client. Designed for high performance, scalability, and secure communication, this role streamlines the installation of Matrix in your environment.
|
||||||
|
|
||||||
Matrix is an open-source project that provides a protocol for secure, decentralized, real-time communication. It offers features like end-to-end encrypted chat, VoIP, and file sharing, catering to both individual and enterprise users. With a focus on interoperability, Matrix can bridge with other communication systems, offering a unified platform for messaging and collaboration.
|
For detailed configuration and operational instructions, please refer to the included documentation:
|
||||||
|
- [Administration.md](./Administration.md)
|
||||||
|
|
||||||
This software uses https://github.com/spantaleev/matrix-docker-ansible-deploy as a base.
|
## Features
|
||||||
|
|
||||||
## Alternativ Matrix Setup Role
|
- **Decentralized and Federated:** Connect with a global network of Matrix homeservers, ensuring there is no single point of failure.
|
||||||
An alternativ role to deploy Matrix you will find [here](../docker-matrix-compose/)
|
- **End-to-End Encryption:** Protect your communications with robust encryption methods.
|
||||||
|
- **Interoperability:** Bridge communications with external platforms, enabling seamless messaging across diverse systems.
|
||||||
|
- **Scalable Architecture:** Handle increasing user loads and message volumes with high performance.
|
||||||
|
- **Ansible Automation:** Enjoy a fully automated, reproducible deployment using Ansible.
|
||||||
|
|
||||||
|
## Additional Resources
|
||||||
|
|
||||||
|
- [Matrix Official Website](https://matrix.org/)
|
||||||
|
- [Matrix Documentation](https://matrix.org/docs/)
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
Developed and maintained by **Kevin Veen-Birkenbach**.
|
||||||
|
Learn more at [veen.world](https://www.veen.world).
|
||||||
|
|
||||||
|
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)
|
||||||
|
Licensed under [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl)
|
@ -1,2 +1,27 @@
|
|||||||
dependencies:
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: >
|
||||||
|
This role deploys and configures a Matrix homeserver using Ansible automation.
|
||||||
|
Benefit from a secure, federated, and scalable communication platform with integrated support
|
||||||
|
for bridges and modern web clients.
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birkenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- matrix
|
||||||
|
- ansible
|
||||||
|
- federated
|
||||||
|
- decentralized
|
||||||
|
- real-time
|
||||||
|
- encrypted
|
||||||
|
repository: "https://s.veen.world/cymais"
|
||||||
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
logo:
|
||||||
|
class: "fa-solid fa-satellite-dish"
|
||||||
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- nginx-docker-reverse-proxy
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# MyBB Forum
|
# MyBB
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -46,14 +46,17 @@
|
|||||||
);
|
);
|
||||||
when: ldap_check.query_result | length == 0
|
when: ldap_check.query_result | length == 0
|
||||||
|
|
||||||
- name: "Check existing LDAP sources"
|
- name: Check if LDAP source exists
|
||||||
community.postgresql.postgresql_query:
|
community.postgresql.postgresql_query:
|
||||||
db: openproject
|
db: "{{ database_name }}"
|
||||||
login_user: postgres
|
login_user: "{{ database_username }}"
|
||||||
|
login_password: "{{ database_password }}"
|
||||||
|
login_host: "127.0.0.1"
|
||||||
|
login_port: "{{ database_port }}"
|
||||||
query: "SELECT id, name FROM ldap_auth_sources"
|
query: "SELECT id, name FROM ldap_auth_sources"
|
||||||
register: ldap_entries
|
register: ldap_entries
|
||||||
when: enable_debug | bool
|
when: enable_debug | bool
|
||||||
|
|
||||||
- name: "Debug LDAP entries"
|
- name: "Debug LDAP entries"
|
||||||
debug:
|
debug:
|
||||||
var: ldap_entries
|
var: ldap_entries
|
||||||
|
@ -22,6 +22,7 @@ galaxy_info:
|
|||||||
- compose
|
- compose
|
||||||
- decentralized
|
- decentralized
|
||||||
- open-source
|
- open-source
|
||||||
|
- video platform
|
||||||
repository: "https://s.veen.world/cymais"
|
repository: "https://s.veen.world/cymais"
|
||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Portfolio 🚀
|
# Portfolio
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -73,6 +73,11 @@ class LookupModule(LookupBase):
|
|||||||
meta_data = yaml.safe_load(f)
|
meta_data = yaml.safe_load(f)
|
||||||
|
|
||||||
galaxy_info = meta_data.get("galaxy_info", {})
|
galaxy_info = meta_data.get("galaxy_info", {})
|
||||||
|
|
||||||
|
# If display is set to False ignore it
|
||||||
|
if not galaxy_info.get("display", True):
|
||||||
|
continue
|
||||||
|
|
||||||
description = galaxy_info.get("description", "")
|
description = galaxy_info.get("description", "")
|
||||||
logo = galaxy_info.get("logo", {})
|
logo = galaxy_info.get("logo", {})
|
||||||
icon_class = logo.get("class", "fa-solid fa-cube")
|
icon_class = logo.get("class", "fa-solid fa-cube")
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
from ansible.plugins.lookup import LookupBase
|
||||||
|
from ansible.errors import AnsibleError
|
||||||
|
|
||||||
|
class LookupModule(LookupBase):
|
||||||
|
def run(self, terms, variables=None, **kwargs):
|
||||||
|
"""
|
||||||
|
Group the given cards into categorized and uncategorized lists
|
||||||
|
based on the tags from menu_categories.
|
||||||
|
"""
|
||||||
|
if len(terms) < 2:
|
||||||
|
raise AnsibleError("Missing required arguments")
|
||||||
|
|
||||||
|
cards = terms[0]
|
||||||
|
menu_categories = terms[1]
|
||||||
|
|
||||||
|
categorized = {}
|
||||||
|
uncategorized = []
|
||||||
|
|
||||||
|
for card in cards:
|
||||||
|
found = False
|
||||||
|
for category, data in menu_categories.items():
|
||||||
|
if any(tag in data.get('tags', []) for tag in card.get('tags', [])):
|
||||||
|
categorized.setdefault(category, []).append(card)
|
||||||
|
found = True
|
||||||
|
break
|
||||||
|
if not found:
|
||||||
|
uncategorized.append(card)
|
||||||
|
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
'categorized': categorized,
|
||||||
|
'uncategorized': uncategorized,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
@ -21,6 +21,26 @@
|
|||||||
become: false
|
become: false
|
||||||
register: config_file
|
register: config_file
|
||||||
|
|
||||||
|
- name: Load menu categories
|
||||||
|
include_vars:
|
||||||
|
file: "menu_categories.yml"
|
||||||
|
|
||||||
|
- name: Load docker cards
|
||||||
|
set_fact:
|
||||||
|
portfolio_cards: "{{ lookup('docker_cards', 'roles') }}"
|
||||||
|
|
||||||
|
- name: Group docker cards
|
||||||
|
set_fact:
|
||||||
|
portfolio_menu_data: "{{ lookup('docker_cards_grouped', portfolio_cards, portfolio_menu_categories) }}"
|
||||||
|
|
||||||
|
- name: Debug portfolio data
|
||||||
|
debug:
|
||||||
|
msg:
|
||||||
|
portfolio_cards: "{{ portfolio_cards }}"
|
||||||
|
portfolio_menu_categories: "{{ portfolio_menu_categories}}"
|
||||||
|
portfolio_menu_data: "{{ portfolio_menu_data }}"
|
||||||
|
when: enable_debug | bool
|
||||||
|
|
||||||
- name: Copy host-specific config.yaml if it exists
|
- name: Copy host-specific config.yaml if it exists
|
||||||
template:
|
template:
|
||||||
src: "{{ config_inventory_path }}"
|
src: "{{ config_inventory_path }}"
|
||||||
|
@ -105,7 +105,7 @@ accounts:
|
|||||||
- link: navigation.header.contact
|
- link: navigation.header.contact
|
||||||
|
|
||||||
cards:
|
cards:
|
||||||
{{ lookup('docker_cards', 'roles') | to_nice_yaml(indent=2) }}
|
{{ portfolio_cards | to_nice_yaml(indent=2) }}
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
titel: {{service_provider.platform.titel}}
|
titel: {{service_provider.platform.titel}}
|
||||||
@ -163,292 +163,4 @@ navigation:
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
footer:
|
{% include 'footer_menu.yaml.j2' %}
|
||||||
children:
|
|
||||||
- link: accounts
|
|
||||||
|
|
||||||
{% if ["discourse","moodle","listmonk","openproject","taiga","snipe_it","matrix","bigbluebutton","mailu", "matomo","phpmyadmin","keycloak", "ldap", "baserow","yourls","nextcloud"] | any_in(group_names) %}
|
|
||||||
|
|
||||||
- name: Solution Hub
|
|
||||||
description: Curated collection of self hosted tools
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-network-wired
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% if ["discourse","moodle","listmonk"] | any_in(group_names) %}
|
|
||||||
|
|
||||||
- name: Community
|
|
||||||
description: Tools to manage the community
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-users
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% if "discourse" in group_names %}
|
|
||||||
|
|
||||||
- name: Forum
|
|
||||||
description: Join the discussion
|
|
||||||
icon:
|
|
||||||
class: fa-brands fa-discourse
|
|
||||||
url: https://{{domains.discourse}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('discourse') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "moodle" in group_names %}
|
|
||||||
|
|
||||||
- name: Learning Platform
|
|
||||||
description: Learn with {{ 'our' if service_provider.type == 'legal' else 'my' }} academy
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-graduation-cap
|
|
||||||
url: https://{{domains.moodle}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('moodle') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "listmonk" in group_names %}
|
|
||||||
|
|
||||||
- name: Newsletter
|
|
||||||
description: Subscribe to {{ 'our' if service_provider.type == 'legal' else 'my' }} newsletter
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-envelope-open-text
|
|
||||||
url: https://{{domains.listmonk}}/subscription/form
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('listmonk') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ["openproject","taiga","snipe_it"] | any_in(group_names) %}
|
|
||||||
|
|
||||||
- name: Project Management
|
|
||||||
description: Project Management Tools
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-chart-line
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% if "openproject" in group_names %}
|
|
||||||
|
|
||||||
- name: Open Project
|
|
||||||
description: Explore {{ 'our' if service_provider.type == 'legal' else 'my' }} projects
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-tasks
|
|
||||||
url: https://{{domains.openproject}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('openproject') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "taiga" in group_names %}
|
|
||||||
|
|
||||||
- name: Taiga
|
|
||||||
description: View {{ 'our' if service_provider.type == 'legal' else 'my' }} Kanban board
|
|
||||||
icon:
|
|
||||||
class: bi bi-clipboard2-check-fill
|
|
||||||
url: https://{{domains.taiga}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('taiga') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "snipe_it" in group_names %}
|
|
||||||
|
|
||||||
- name: Snipe IT
|
|
||||||
description: Manage {{ 'our' if service_provider.type == 'legal' else 'my' }} inventory
|
|
||||||
icon:
|
|
||||||
class: fas fa-box-open
|
|
||||||
url: https://{{domains.snipe_it}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('snipe_it') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ["matrix","bigbluebutton","mailu"] | any_in(group_names) %}
|
|
||||||
|
|
||||||
- name: Communication
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-comments
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% if "matrix" in group_names %}
|
|
||||||
|
|
||||||
- name: Elements
|
|
||||||
description: Chat with the world
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-comment
|
|
||||||
url: https://{{domains.matrix_element}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('matrix') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "bigbluebutton" in group_names %}
|
|
||||||
|
|
||||||
- name: Big Blue Button
|
|
||||||
description: Join live events
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-video
|
|
||||||
url: https://{{domains.bigbluebutton}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('bigbluebutton') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "mailu" in group_names %}
|
|
||||||
|
|
||||||
- name: Mailu
|
|
||||||
description: Send{{ 'our' if service_provider.type == 'legal' else 'my' }}a mail
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-envelope
|
|
||||||
url: https://{{domains.mailu}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('mailu') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ["matomo","phpmyadmin","keycloak", "ldap"] | any_in(group_names) %}
|
|
||||||
|
|
||||||
- name: Administration
|
|
||||||
icon:
|
|
||||||
class: fas fa-building
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% if "matomo" in group_names %}
|
|
||||||
|
|
||||||
- name: Matomo
|
|
||||||
description: Analyze with Matomo
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-chart-simple
|
|
||||||
url: https://{{domains.matomo}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('matomo') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "phpmyadmin" in group_names %}
|
|
||||||
|
|
||||||
- name: phpMyAdmin
|
|
||||||
description: Administrate MySQL and MariaDB databases
|
|
||||||
icon:
|
|
||||||
class: fas fa-database
|
|
||||||
url: https://{{domains.phpmyadmin}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('phpmyadmin') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if "pgadmin" in group_names %}
|
|
||||||
|
|
||||||
- name: pgAdmin
|
|
||||||
description: Administrate PostgreSQL databases with ease and precision
|
|
||||||
icon:
|
|
||||||
class: fas fa-database
|
|
||||||
url: https://{{domains.pgadmin}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('pgadmin') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if "keycloak" in group_names %}
|
|
||||||
|
|
||||||
- name: Keycloak
|
|
||||||
description: Manage User via Keycloak
|
|
||||||
icon:
|
|
||||||
class: fas fa-user-shield
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('keycloak') }}
|
|
||||||
children:
|
|
||||||
- name: Administration
|
|
||||||
description: Access the central admin console
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-shield-halved
|
|
||||||
url: https://{{domains.keycloak}}/admin
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('keycloak') }}
|
|
||||||
- name: Profile
|
|
||||||
description: Update your personal admin settings
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-user-gear
|
|
||||||
url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/account
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('keycloak') }}
|
|
||||||
- name: Logout
|
|
||||||
description: End your admin session securely
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-right-from-bracket
|
|
||||||
url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/protocol/openid-connect/logout
|
|
||||||
iframe: false
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "ldap" in group_names %}
|
|
||||||
|
|
||||||
- name: LDAP
|
|
||||||
description: Manage LDAP
|
|
||||||
icon:
|
|
||||||
class: fas fa-key
|
|
||||||
url: https://{{domains.ldap}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('ldap') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% if ["baserow","yourls","nextcloud"] | any_in(group_names) %}
|
|
||||||
|
|
||||||
- name: Tools
|
|
||||||
icon:
|
|
||||||
class: fas fa-tools
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% if "baserow" in group_names %}
|
|
||||||
|
|
||||||
- name: Baserow
|
|
||||||
description: Organize with Baserow
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-table
|
|
||||||
url: https://{{domains.baserow}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('baserow') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "yourls" in group_names %}
|
|
||||||
|
|
||||||
- name: Yourls
|
|
||||||
description: Create Shortlinks
|
|
||||||
icon:
|
|
||||||
class: bi bi-link
|
|
||||||
url: https://{{domains.yourls}}/admin/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('yourls') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% if "nextcloud" in group_names %}
|
|
||||||
|
|
||||||
- name: Nextcloud
|
|
||||||
description: Access your cloud storage
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-cloud
|
|
||||||
url: https://{{domains.nextcloud}}/
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('nextcloud') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: Support Us
|
|
||||||
description: "Discover all the ways you can support our work."
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-hands-helping
|
|
||||||
children:
|
|
||||||
- name: Buy me a Coffee
|
|
||||||
description: "Support our work with a coffee – every cup helps!"
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-mug-hot
|
|
||||||
url: https://s.veen.world/buymeacoffee
|
|
||||||
- name: Patreon
|
|
||||||
description: "Become a member and support me monthly with exclusive content."
|
|
||||||
icon:
|
|
||||||
class: fa-brands fa-patreon
|
|
||||||
url: https://s.veen.world/patreon
|
|
||||||
- name: PayPal
|
|
||||||
description: "Donate to our open source projects with a one-time or monthly PayPal contribution."
|
|
||||||
icon:
|
|
||||||
class: fa-brands fa-paypal
|
|
||||||
url: https://s.veen.world/paypaldonate
|
|
||||||
- name: GitHub Sponsors
|
|
||||||
description: "Directly support our projects through GitHub Sponsors."
|
|
||||||
icon:
|
|
||||||
class: fa-brands fa-github
|
|
||||||
url: https://s.veen.world/githubsponsors
|
|
||||||
|
|
||||||
{% if "sphinx" in group_names %}
|
|
||||||
|
|
||||||
- name: Documentation
|
|
||||||
description: Access our comprehensive documentation and support resources to help you get the most out of the software.
|
|
||||||
icon:
|
|
||||||
class: fas fa-book
|
|
||||||
url: https://{{domains.sphinx}}
|
|
||||||
iframe: {{ applications | get_landingpage_iframe_enabled('sphinx') }}
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
- name: Imprint
|
|
||||||
description: Check out the imprint information
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-scale-balanced
|
|
||||||
url: "{{service_provider.legal.imprint}}"
|
|
||||||
iframe: true
|
|
136
roles/docker-portfolio/templates/footer_menu.yaml.j2
Normal file
136
roles/docker-portfolio/templates/footer_menu.yaml.j2
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
|
||||||
|
footer:
|
||||||
|
children:
|
||||||
|
- link: accounts
|
||||||
|
|
||||||
|
{% if (portfolio_menu_data.categorized is mapping and portfolio_menu_data.categorized | length > 0)
|
||||||
|
or (portfolio_menu_data.uncategorized is sequence and portfolio_menu_data.uncategorized | length > 0) %}
|
||||||
|
|
||||||
|
- name: Solution Hub
|
||||||
|
description: Curated collection of self hosted tools
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-network-wired
|
||||||
|
children:
|
||||||
|
|
||||||
|
{# Render all categories #}
|
||||||
|
{% for category, apps in portfolio_menu_data.categorized.items() %}
|
||||||
|
|
||||||
|
- name: {{ category }}
|
||||||
|
description: {{ portfolio_menu_categories[category].description }}
|
||||||
|
icon:
|
||||||
|
class: {{ portfolio_menu_categories[category].icon }}
|
||||||
|
children:
|
||||||
|
|
||||||
|
{% for app in apps %}
|
||||||
|
|
||||||
|
- name: {{ app.title }}
|
||||||
|
description: {{ app.text }}
|
||||||
|
icon: {{ app.icon }}
|
||||||
|
url: {{ app.url }}
|
||||||
|
iframe: {{ app.iframe }}
|
||||||
|
|
||||||
|
{% if app.title == 'Keycloak' %}
|
||||||
|
|
||||||
|
children:
|
||||||
|
- name: Administration
|
||||||
|
description: Access the central admin console
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-shield-halved
|
||||||
|
url: https://{{domains.keycloak}}/admin
|
||||||
|
iframe: {{ applications | get_landingpage_iframe_enabled('keycloak') }}
|
||||||
|
- name: Profile
|
||||||
|
description: Update your personal admin settings
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-user-gear
|
||||||
|
url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/account
|
||||||
|
iframe: {{ applications | get_landingpage_iframe_enabled('keycloak') }}
|
||||||
|
- name: Logout
|
||||||
|
description: End your admin session securely
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-right-from-bracket
|
||||||
|
url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/protocol/openid-connect/logout
|
||||||
|
iframe: false
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{# Render Uncategorized #}
|
||||||
|
{% if portfolio_menu_data.uncategorized %}
|
||||||
|
|
||||||
|
- name: Uncategorized
|
||||||
|
description: Tools without a defined category
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-question
|
||||||
|
children:
|
||||||
|
|
||||||
|
{% for app in portfolio_menu_data.uncategorized %}
|
||||||
|
|
||||||
|
- name: {{ app.title }}
|
||||||
|
description: {{ app.text }}
|
||||||
|
icon: {{ app.icon }}
|
||||||
|
url: {{ app.url }}
|
||||||
|
iframe: {{ app.iframe }}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
- name: Support Us
|
||||||
|
description: "Discover all the ways you can support our work."
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-hands-helping
|
||||||
|
children:
|
||||||
|
- name: Buy me a Coffee
|
||||||
|
description: "Support our work with a coffee – every cup helps!"
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-mug-hot
|
||||||
|
url: https://s.veen.world/buymeacoffee
|
||||||
|
- name: Patreon
|
||||||
|
description: "Become a member and support me monthly with exclusive content."
|
||||||
|
icon:
|
||||||
|
class: fa-brands fa-patreon
|
||||||
|
url: https://s.veen.world/patreon
|
||||||
|
- name: PayPal
|
||||||
|
description: "Donate to our open source projects with a one-time or monthly PayPal contribution."
|
||||||
|
icon:
|
||||||
|
class: fa-brands fa-paypal
|
||||||
|
url: https://s.veen.world/paypaldonate
|
||||||
|
- name: GitHub Sponsors
|
||||||
|
description: "Directly support our projects through GitHub Sponsors."
|
||||||
|
icon:
|
||||||
|
class: fa-brands fa-github
|
||||||
|
url: https://s.veen.world/githubsponsors
|
||||||
|
|
||||||
|
{% if "sphinx" in group_names %}
|
||||||
|
|
||||||
|
- name: Documentation
|
||||||
|
description: Access our comprehensive documentation and support resources to help you get the most out of the software.
|
||||||
|
icon:
|
||||||
|
class: fas fa-book
|
||||||
|
url: https://{{domains.sphinx}}
|
||||||
|
iframe: {{ applications | get_landingpage_iframe_enabled('sphinx') }}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if "presentation" in group_names %}
|
||||||
|
|
||||||
|
- name: Slides
|
||||||
|
description: Checkout the presentation
|
||||||
|
icon:
|
||||||
|
class: fas fa-book
|
||||||
|
url: https://{{domains.presentation}}
|
||||||
|
iframe: {{ applications | get_landingpage_iframe_enabled('sphinx') }}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
- name: Imprint
|
||||||
|
description: Check out the imprint information
|
||||||
|
icon:
|
||||||
|
class: fa-solid fa-scale-balanced
|
||||||
|
url: "{{service_provider.legal.imprint}}"
|
||||||
|
iframe: true
|
164
roles/docker-portfolio/vars/menu_categories.yml
Normal file
164
roles/docker-portfolio/vars/menu_categories.yml
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
portfolio_menu_categories:
|
||||||
|
|
||||||
|
Community:
|
||||||
|
description: "Tools to manage the community"
|
||||||
|
icon: "fa-solid fa-users"
|
||||||
|
tags:
|
||||||
|
- community
|
||||||
|
- forum
|
||||||
|
- learning
|
||||||
|
- newsletter
|
||||||
|
- discourse
|
||||||
|
- listmonk
|
||||||
|
- moodle
|
||||||
|
- mybb
|
||||||
|
|
||||||
|
Project Management:
|
||||||
|
description: "Project Management Tools"
|
||||||
|
icon: "fa-solid fa-chart-line"
|
||||||
|
tags:
|
||||||
|
- project
|
||||||
|
- kanban
|
||||||
|
- management
|
||||||
|
- openproject
|
||||||
|
- taiga
|
||||||
|
|
||||||
|
Social Media:
|
||||||
|
description: "Social Media Tools"
|
||||||
|
icon: "fa-solid fa-share-nodes"
|
||||||
|
tags:
|
||||||
|
- microblog
|
||||||
|
- blog
|
||||||
|
- video platform
|
||||||
|
- streaming platform
|
||||||
|
- music platform
|
||||||
|
- social network
|
||||||
|
- bluesky
|
||||||
|
- friendica
|
||||||
|
- funkwhale
|
||||||
|
- mastodon
|
||||||
|
- peertube
|
||||||
|
- pixelfed
|
||||||
|
|
||||||
|
Communication:
|
||||||
|
description: "Tools for communication"
|
||||||
|
icon: "fa-solid fa-comments"
|
||||||
|
tags:
|
||||||
|
- chat
|
||||||
|
- communication
|
||||||
|
- video
|
||||||
|
- mail
|
||||||
|
- email
|
||||||
|
- bigbluebutton
|
||||||
|
- etherpad
|
||||||
|
- mailu
|
||||||
|
- matrix
|
||||||
|
- xmpp
|
||||||
|
|
||||||
|
Cloud:
|
||||||
|
description: "Self-hosted cloud solutions for file synchronization, collaboration, and data sharing."
|
||||||
|
icon: "fa-solid fa-cloud"
|
||||||
|
tags:
|
||||||
|
- nextcloud
|
||||||
|
- owncloud
|
||||||
|
- cloud
|
||||||
|
|
||||||
|
IAM:
|
||||||
|
description: "Tools for Identity and Access Management, including authentication, user provisioning, and secure access control."
|
||||||
|
icon: "fa-solid fa-user-shield"
|
||||||
|
tags:
|
||||||
|
- iam
|
||||||
|
- identity-management
|
||||||
|
- authentication
|
||||||
|
- access-control
|
||||||
|
- sso
|
||||||
|
- keycloak
|
||||||
|
- lam
|
||||||
|
- ldap
|
||||||
|
- fusiondirectory
|
||||||
|
- user-management
|
||||||
|
|
||||||
|
|
||||||
|
Server Administration:
|
||||||
|
description: "Administration Tools für servers"
|
||||||
|
icon: "fas fa-building"
|
||||||
|
tags:
|
||||||
|
- administration
|
||||||
|
- database
|
||||||
|
- central-database
|
||||||
|
- elk
|
||||||
|
- mariadb
|
||||||
|
- matomo
|
||||||
|
- pgadmin
|
||||||
|
- phpldapadmin
|
||||||
|
- phpmyadmin
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
Tools:
|
||||||
|
description: "Helpful Tools"
|
||||||
|
icon: "fas fa-tools"
|
||||||
|
tags:
|
||||||
|
- tools
|
||||||
|
- utility
|
||||||
|
- baserow
|
||||||
|
- compose
|
||||||
|
- presentation
|
||||||
|
- repository-setup
|
||||||
|
- roulette-wheel
|
||||||
|
- sphinx
|
||||||
|
- yourls
|
||||||
|
|
||||||
|
Finance & Accounting:
|
||||||
|
description: "Financial and accounting software"
|
||||||
|
icon: "fa-solid fa-dollar-sign"
|
||||||
|
tags:
|
||||||
|
- finance
|
||||||
|
- accounting
|
||||||
|
- invoices
|
||||||
|
- akaunting
|
||||||
|
- snipe_it
|
||||||
|
|
||||||
|
Events:
|
||||||
|
description: "Event and ticket management tools"
|
||||||
|
icon: "fa-solid fa-ticket-alt"
|
||||||
|
tags:
|
||||||
|
- events
|
||||||
|
- ticketing
|
||||||
|
- attendize
|
||||||
|
|
||||||
|
Infrastructure:
|
||||||
|
description: "Infrastructure and networking tools"
|
||||||
|
icon: "fa-solid fa-network-wired"
|
||||||
|
tags:
|
||||||
|
- infrastructure
|
||||||
|
- networking
|
||||||
|
- proxy
|
||||||
|
- turn
|
||||||
|
- stun
|
||||||
|
- coturn
|
||||||
|
- oauth2-proxy
|
||||||
|
- registry
|
||||||
|
|
||||||
|
Development:
|
||||||
|
description: "Development and CI/CD tools"
|
||||||
|
icon: "fa-solid fa-code-branch"
|
||||||
|
tags:
|
||||||
|
- development
|
||||||
|
- version control
|
||||||
|
- ci/cd
|
||||||
|
- git
|
||||||
|
- gitea
|
||||||
|
- gitlab
|
||||||
|
- jenkins
|
||||||
|
|
||||||
|
Content Management:
|
||||||
|
description: "CMS and web publishing platforms"
|
||||||
|
icon: "fa-solid fa-file-alt"
|
||||||
|
tags:
|
||||||
|
- cms
|
||||||
|
- blogging
|
||||||
|
- publishing
|
||||||
|
- website
|
||||||
|
- joomla
|
||||||
|
- mediawiki
|
||||||
|
- wordpress
|
@ -1,4 +1,4 @@
|
|||||||
# PostgreSQL 🐳
|
# PostgreSQL
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -25,6 +25,4 @@ galaxy_info:
|
|||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
logo:
|
logo:
|
||||||
class: "fas fa-chalkboard-teacher"
|
class: "fas fa-chalkboard-teacher"
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
@ -4,10 +4,12 @@
|
|||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: docker-compose
|
||||||
|
|
||||||
- name: install cymais-presentation
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install cymais-presentation --clone-mode https"
|
name: pkgmgr-install
|
||||||
notify: docker compose project build and setup
|
vars:
|
||||||
|
package_name: cymais-presentation
|
||||||
|
package_notify: docker compose project build and setup
|
||||||
|
|
||||||
- name: Get path of cymais-presentation using pkgmgr
|
- name: Get path of cymais-presentation using pkgmgr
|
||||||
command: pkgmgr path cymais-presentation
|
command: pkgmgr path cymais-presentation
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Docker Repository Setup 🚀
|
# Docker Repository Setup
|
||||||
|
|
||||||
This Ansible role sets up and manages your Docker repository. It ensures that the repository is pulled from your remote Git source, and it automatically triggers a rebuild of your Docker images using Docker Compose.
|
This Ansible role sets up and manages your Docker repository. It ensures that the repository is pulled from your remote Git source, and it automatically triggers a rebuild of your Docker images using Docker Compose.
|
||||||
|
|
||||||
|
@ -1,7 +1,30 @@
|
|||||||
# docker roulette-wheel
|
# Roulette Wheel
|
||||||
|
|
||||||
|
## Warning
|
||||||
|
This role isn't actively maintained. Use it with caution in production environments.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
This role deploys and configures the Roulette Wheel application using Docker Compose. It pulls the latest source code from a Git repository, builds a Docker image from a Node.js base, and starts the application on a user-defined local HTTP port.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
Roulette Wheel is a Node.js-based front-end application that is containerized using Docker. The role accomplishes the following:
|
||||||
|
- **Repository Integration:** Automatically clones or updates the application repository from GitHub.
|
||||||
|
- **Dockerfile Management:** Uses a custom Dockerfile (built on a Node.js image) to install dependencies, build the application, and define the startup command.
|
||||||
|
- **Container Deployment:** Integrates with Docker Compose for container orchestration, making it easy to manage the application's lifecycle.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
- **Dockerized Deployment:** Packages the application in a Docker container for consistent and isolated runtime.
|
||||||
|
- **Automated Builds:** Uses an automated Docker build process with a dedicated Dockerfile.
|
||||||
|
- **Configurable Ports:** Exposes the application through a customizable host port.
|
||||||
|
- **Git Integration:** Ensures that the application source code is up-to-date by pulling from the specified Git repository.
|
||||||
|
|
||||||
## Other Resources
|
## Other Resources
|
||||||
- https://github.com/p-wojt/roulette-wheel
|
- [Roulette Wheel on GitHub](https://github.com/p-wojt/roulette-wheel)
|
||||||
- https://dev.to/ms314006/how-to-package-front-end-projects-into-docker-images-and-use-it-with-webpack-go3
|
- [Packaging Front-End Projects into Docker Images (Dev.to)](https://dev.to/ms314006/how-to-package-front-end-projects-into-docker-images-and-use-it-with-webpack-go3)
|
||||||
- https://stackoverflow.com/questions/53178820/dockerfile-to-run-nodejs-static-content-in-docker-container
|
- [Stack Overflow: Dockerfile to Run NodeJS Static Content](https://stackoverflow.com/questions/53178820/dockerfile-to-run-nodejs-static-content-in-docker-container)
|
||||||
- https://stackoverflow.com/questions/43619644/i-am-getting-an-invalid-host-header-message-when-connecting-to-webpack-dev-ser
|
- [Stack Overflow: Invalid Host Header Message with Webpack Dev Server](https://stackoverflow.com/questions/43619644/i-am-getting-an-invalid-host-header-message-when-connecting-to-webpack-dev-ser)
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
Developed and maintained by **Kevin Veen-Birkenbach**.
|
||||||
|
Learn more at [veen.world](https://www.veen.world).
|
||||||
|
Licensed under the [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl).
|
||||||
|
1
roles/docker-roulette-wheel/TODO.md
Normal file
1
roles/docker-roulette-wheel/TODO.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
- Optimize or implement alternative
|
@ -1,2 +1,25 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: >
|
||||||
|
This role deploys and configures the Roulette Wheel application using Docker Compose.
|
||||||
|
It automates the process of pulling the latest source code from GitHub,
|
||||||
|
building a Docker image, and deploying the application.
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birkenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
galaxy_tags:
|
||||||
|
- docker
|
||||||
|
- nodejs
|
||||||
|
- roulette
|
||||||
|
- application
|
||||||
|
repository: "https://s.veen.world/cymais"
|
||||||
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
logo:
|
||||||
|
class: "fa-solid fa-dice"
|
||||||
dependencies:
|
dependencies:
|
||||||
- docker-compose
|
- docker-compose
|
||||||
|
@ -26,6 +26,4 @@ galaxy_info:
|
|||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
logo:
|
logo:
|
||||||
class: "fa-solid fa-book"
|
class: "fa-solid fa-book"
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
@ -4,10 +4,12 @@
|
|||||||
include_role:
|
include_role:
|
||||||
name: docker-compose
|
name: docker-compose
|
||||||
|
|
||||||
- name: install cymais-sphinx
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install cymais-sphinx --clone-mode https"
|
name: pkgmgr-install
|
||||||
notify: docker compose project build and setup
|
vars:
|
||||||
|
package_name: cymais-sphinx
|
||||||
|
package_notify: docker compose project build and setup
|
||||||
|
|
||||||
- name: Get path of cymais-sphinx using pkgmgr
|
- name: Get path of cymais-sphinx using pkgmgr
|
||||||
command: pkgmgr path cymais-sphinx
|
command: pkgmgr path cymais-sphinx
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Docker Taiga 🐳📋
|
# Taiga
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ galaxy_info:
|
|||||||
- multisite
|
- multisite
|
||||||
- msmtp
|
- msmtp
|
||||||
- automation
|
- automation
|
||||||
|
- blog
|
||||||
repository: "https://s.veen.world/cymais"
|
repository: "https://s.veen.world/cymais"
|
||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# YOURLS URL Shortener
|
# YOURLS
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -23,5 +23,3 @@ galaxy_info:
|
|||||||
repository: https://s.veen.world/cymais
|
repository: https://s.veen.world/cymais
|
||||||
issue_tracker_url: https://s.veen.world/cymaisissues
|
issue_tracker_url: https://s.veen.world/cymaisissues
|
||||||
documentation: https://s.veen.world/cymais
|
documentation: https://s.veen.world/cymais
|
||||||
dependencies:
|
|
||||||
- role: package-manager
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
---
|
---
|
||||||
- name: install setup-hibernate
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install setup-hibernate --clone-mode https"
|
name: pkgmgr-install
|
||||||
become: true
|
vars:
|
||||||
|
package_name: setup-hibernate
|
||||||
|
|
||||||
- name: Setup hibernate
|
- name: Setup hibernate
|
||||||
command: setup-hibernate --non-interactive
|
command: setup-hibernate --non-interactive
|
||||||
|
@ -25,4 +25,4 @@ galaxy_info:
|
|||||||
documentation: https://s.veen.world/cymais
|
documentation: https://s.veen.world/cymais
|
||||||
dependencies:
|
dependencies:
|
||||||
- persona-administrator
|
- persona-administrator
|
||||||
- package-manager
|
- pkgmgr
|
47
roles/pkgmgr-install/README.md
Normal file
47
roles/pkgmgr-install/README.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# Package Manager Installation 📦
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This Ansible role installs and updates packages using `pkgmgr` on Arch Linux systems. It provides a unified interface for package installation and update management, ensuring consistent deployment across environments.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The role abstracts package management operations using `pkgmgr`. It ensures the package manager itself is updated once per run and provides idempotent installation and update routines for specified packages.
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
The purpose of this role is to automate the installation and update process for CyMaIS-related applications or other managed packages using `pkgmgr`. It simplifies package handling and enforces best practices for package deployment in automated environments.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Automatic pkgmgr Update:** Ensures the package manager is always up-to-date.
|
||||||
|
- **Idempotent Package Installation:** Only installs packages when necessary.
|
||||||
|
- **Flexible Notification:** Supports handler notification for post-install actions (e.g., Docker Compose builds).
|
||||||
|
- **Optional Privilege Escalation:** Controlled via the `pkgmgr_become` variable (default: `true`).
|
||||||
|
|
||||||
|
## Role Variables
|
||||||
|
|
||||||
|
| Name | Description | Default |
|
||||||
|
|-----------------|-----------------------------------------------------------------|---------|
|
||||||
|
| `package_name` | Name of the package to install/update | (required) |
|
||||||
|
| `package_notify` | Handler to notify on package installation/update | "" |
|
||||||
|
| `pkgmgr_become` | Execute all tasks with elevated privileges (become: true/false) | true |
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Install cymais-presentation
|
||||||
|
include_role:
|
||||||
|
name: pkgmgr-install
|
||||||
|
vars:
|
||||||
|
package_name: cymais-presentation
|
||||||
|
package_notify: docker compose project build and setup
|
||||||
|
```
|
||||||
|
|
||||||
|
## Credits 📝
|
||||||
|
|
||||||
|
Developed and maintained by **Kevin Veen-Birkenbach**.
|
||||||
|
Learn more at [www.veen.world](https://www.veen.world)
|
||||||
|
|
||||||
|
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)
|
||||||
|
License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl)
|
2
roles/pkgmgr-install/defaults/main.yml
Normal file
2
roles/pkgmgr-install/defaults/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
pkgmgr_become: true
|
25
roles/pkgmgr-install/meta/main.yml
Normal file
25
roles/pkgmgr-install/meta/main.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: "Installs and updates packages using pkgmgr."
|
||||||
|
license: "CyMaIS NonCommercial License (CNCL)"
|
||||||
|
license_url: "https://s.veen.world/cncl"
|
||||||
|
company: |
|
||||||
|
Kevin Veen-Birkenbach
|
||||||
|
Consulting & Coaching Solutions
|
||||||
|
https://www.veen.world
|
||||||
|
min_ansible_version: "2.9"
|
||||||
|
platforms:
|
||||||
|
- name: Archlinux
|
||||||
|
versions:
|
||||||
|
- rolling
|
||||||
|
galaxy_tags:
|
||||||
|
- pkgmgr
|
||||||
|
- package
|
||||||
|
- update
|
||||||
|
- archlinux
|
||||||
|
- cymais
|
||||||
|
repository: https://s.veen.world/cymais
|
||||||
|
issue_tracker_url: https://s.veen.world/cymaisissues
|
||||||
|
documentation: https://s.veen.world/cymais
|
||||||
|
dependencies:
|
||||||
|
- pkgmgr
|
22
roles/pkgmgr-install/tasks/main.yml
Normal file
22
roles/pkgmgr-install/tasks/main.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
- name: "{{ role_name }} | pkgmgr installation tasks"
|
||||||
|
become: "{{ pkgmgr_become }}"
|
||||||
|
block:
|
||||||
|
- name: update pkgmgr
|
||||||
|
command:
|
||||||
|
cmd: "pkgmgr update pkgmgr"
|
||||||
|
when: run_once_pkgmgr_update is not defined
|
||||||
|
|
||||||
|
- name: install {{ package_name }}
|
||||||
|
command:
|
||||||
|
cmd: "pkgmgr install {{ package_name }} --clone-mode https"
|
||||||
|
notify: "{{ package_notify | default(omit) }}"
|
||||||
|
|
||||||
|
- name: update {{ package_name }}
|
||||||
|
command:
|
||||||
|
cmd: "pkgmgr update {{ package_name }}"
|
||||||
|
notify: "{{ package_notify | default(omit) }}"
|
||||||
|
|
||||||
|
- name: mark pkgmgr update as done
|
||||||
|
set_fact:
|
||||||
|
run_once_pkgmgr_update: true
|
||||||
|
when: run_once_pkgmgr_update is not defined
|
@ -24,7 +24,7 @@ galaxy_info:
|
|||||||
versions:
|
versions:
|
||||||
- rolling
|
- rolling
|
||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- package-manager
|
- pkgmgr
|
||||||
- automation
|
- automation
|
||||||
- git
|
- git
|
||||||
- repositories
|
- repositories
|
@ -22,5 +22,4 @@ galaxy_info:
|
|||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
documentation: "https://s.veen.world/cymais"
|
documentation: "https://s.veen.world/cymais"
|
||||||
dependencies:
|
dependencies:
|
||||||
- package-manager
|
|
||||||
- systemd-notifier
|
- systemd-notifier
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
- name: install btrfs-auto-balancer
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install btrfs-auto-balancer --clone-mode https"
|
name: pkgmgr-install
|
||||||
|
vars:
|
||||||
|
package_name: btrfs-auto-balancer
|
||||||
when: run_once_system_btrfs_auto_balancer is not defined
|
when: run_once_system_btrfs_auto_balancer is not defined
|
||||||
|
|
||||||
- name: configure system-btrfs-auto-balancer.cymais.service
|
- name: configure system-btrfs-auto-balancer.cymais.service
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
galaxy_info:
|
|
||||||
author: "Kevin Veen-Birkenbach"
|
|
||||||
description: "Automates the creation of a swapfile on the target system by cloning and executing a swapfile creation script, ensuring adequate swap space for improved system performance."
|
|
||||||
license: "CyMaIS NonCommercial License (CNCL)"
|
|
||||||
license_url: "https://s.veen.world/cncl"
|
|
||||||
company: |
|
|
||||||
Kevin Veen-Birkenbach
|
|
||||||
Consulting & Coaching Solutions
|
|
||||||
https://www.veen.world
|
|
||||||
min_ansible_version: "2.9"
|
|
||||||
platforms:
|
|
||||||
- name: Linux
|
|
||||||
versions:
|
|
||||||
- all
|
|
||||||
galaxy_tags:
|
|
||||||
- swapfile
|
|
||||||
- system
|
|
||||||
- performance
|
|
||||||
- automation
|
|
||||||
repository: "https://s.veen.world/cymais"
|
|
||||||
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
|
||||||
documentation: "https://s.veen.world/cymais"
|
|
||||||
dependencies:
|
|
||||||
- package-manager
|
|
@ -1,7 +1,8 @@
|
|||||||
- name: install swap-forge
|
- name: "{{ role_name }} | pkgmgr install"
|
||||||
command:
|
include_role:
|
||||||
cmd: "pkgmgr install swap-forge --clone-mode https"
|
name: pkgmgr-install
|
||||||
become: true
|
vars:
|
||||||
|
package_name: swap-forge
|
||||||
|
|
||||||
- name: Execute create swapfile script
|
- name: Execute create swapfile script
|
||||||
ansible.builtin.shell: swap-forge "{{swapfile_size}}"
|
ansible.builtin.shell: swap-forge "{{swapfile_size}}"
|
||||||
|
2
roles/update-pkgmgr/TODO.md
Normal file
2
roles/update-pkgmgr/TODO.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Todos
|
||||||
|
- Activate update again. Atm not possible, because it pulls all repos
|
@ -15,7 +15,7 @@ galaxy_info:
|
|||||||
- all
|
- all
|
||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- update
|
- update
|
||||||
- package-manager
|
- pkgmgr
|
||||||
- pkgmgr
|
- pkgmgr
|
||||||
- system
|
- system
|
||||||
repository: "https://s.veen.world/cymais"
|
repository: "https://s.veen.world/cymais"
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
- name: "Update all repositories with pkgmgr"
|
#- name: "Update all repositories with pkgmgr"
|
||||||
command: "pkgmgr update --all"
|
# command: "pkgmgr update --all"
|
Loading…
x
Reference in New Issue
Block a user