mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-20 07:02:01 +02:00
Optimized for portfolio, presentation and docs
This commit is contained in:
parent
33a8d8b579
commit
2183038240
@ -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.
|
@ -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 @@
|
|||||||
|
---
|
||||||
|
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:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- nginx-docker-reverse-proxy
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# MyBB Forum
|
# MyBB
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -10,11 +10,11 @@ class LookupModule(LookupBase):
|
|||||||
Group the given cards into categorized and uncategorized lists
|
Group the given cards into categorized and uncategorized lists
|
||||||
based on the tags from menu_categories.
|
based on the tags from menu_categories.
|
||||||
"""
|
"""
|
||||||
if len(terms) < 1:
|
if len(terms) < 2:
|
||||||
raise AnsibleError("Missing required argument: cards")
|
raise AnsibleError("Missing required arguments")
|
||||||
|
|
||||||
cards = terms[0]
|
cards = terms[0]
|
||||||
menu_categories = variables.get("menu_categories", {})
|
menu_categories = terms[1]
|
||||||
|
|
||||||
categorized = {}
|
categorized = {}
|
||||||
uncategorized = []
|
uncategorized = []
|
||||||
|
@ -21,22 +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
|
- name: Load docker cards
|
||||||
set_fact:
|
set_fact:
|
||||||
portfolio_cards: "{{ lookup('docker_cards', 'roles') }}"
|
portfolio_cards: "{{ lookup('docker_cards', 'roles') }}"
|
||||||
|
|
||||||
- name: Group docker cards
|
- name: Group docker cards
|
||||||
set_fact:
|
set_fact:
|
||||||
portfolio_menu_data: "{{ lookup('docker_cards_grouped', portfolio_cards) }}"
|
portfolio_menu_data: "{{ lookup('docker_cards_grouped', portfolio_cards, portfolio_menu_categories) }}"
|
||||||
|
|
||||||
- name: Debug portfolio data
|
- name: Debug portfolio data
|
||||||
debug:
|
debug:
|
||||||
msg:
|
msg:
|
||||||
cards: "{{ portfolio_cards }}"
|
portfolio_cards: "{{ portfolio_cards }}"
|
||||||
menu_data: "{{ portfolio_menu_data }}"
|
portfolio_menu_categories: "{{ portfolio_menu_categories}}"
|
||||||
|
portfolio_menu_data: "{{ portfolio_menu_data }}"
|
||||||
when: enable_debug | bool
|
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 }}"
|
||||||
|
@ -163,68 +163,4 @@ navigation:
|
|||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
footer:
|
|
||||||
children:
|
|
||||||
- link: accounts
|
|
||||||
- name: Solution Hub
|
|
||||||
description: Curated collection of self hosted tools
|
|
||||||
icon:
|
|
||||||
class: fa-solid fa-network-wired
|
|
||||||
children:
|
|
||||||
|
|
||||||
{% include 'footer_menu.yaml.j2' %}
|
{% include 'footer_menu.yaml.j2' %}
|
||||||
|
|
||||||
- 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: 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
|
|
@ -1,52 +1,136 @@
|
|||||||
{# Render all categories #}
|
|
||||||
{% for category, apps in portfolio_menu_data.categorized %}
|
footer:
|
||||||
- name: {{ category }}
|
children:
|
||||||
description: {{ category_data.menu_categories[category].description }}
|
- 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:
|
icon:
|
||||||
class: {{ category_data.menu_categories[category].icon }}
|
class: fa-solid fa-network-wired
|
||||||
children:
|
children:
|
||||||
{% for app in apps %}
|
|
||||||
|
{# 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 }}
|
- name: {{ app.title }}
|
||||||
description: {{ app.text }}
|
description: {{ app.text }}
|
||||||
icon: {{ app.icon }}
|
icon: {{ app.icon }}
|
||||||
url: {{ app.url }}
|
url: {{ app.url }}
|
||||||
iframe: {{ app.iframe }}
|
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 %}
|
{% endfor %}
|
||||||
|
|
||||||
{# Render Uncategorized
|
{% endif %}
|
||||||
{% if portfolio_menu_data.uncategorized %}
|
|
||||||
- name: Uncategorized
|
{% endif %}
|
||||||
description: Tools without a defined category
|
|
||||||
|
- name: Support Us
|
||||||
|
description: "Discover all the ways you can support our work."
|
||||||
icon:
|
icon:
|
||||||
class: fa-solid fa-question
|
class: fa-solid fa-hands-helping
|
||||||
children:
|
children:
|
||||||
{% for app in portfolio_menu_data.uncategorized %}
|
- name: Buy me a Coffee
|
||||||
- name: {{ app.title }}
|
description: "Support our work with a coffee – every cup helps!"
|
||||||
description: {{ app.text }}
|
icon:
|
||||||
icon: {{ app.icon }}
|
class: fa-solid fa-mug-hot
|
||||||
url: {{ app.url }}
|
url: https://s.veen.world/buymeacoffee
|
||||||
iframe: {{ app.iframe }}
|
- name: Patreon
|
||||||
{% endfor %}
|
description: "Become a member and support me monthly with exclusive content."
|
||||||
{% endif %} #}
|
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: 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
|
@ -1,4 +1,5 @@
|
|||||||
menu_categories:
|
portfolio_menu_categories:
|
||||||
|
|
||||||
Community:
|
Community:
|
||||||
description: Tools to manage the community
|
description: Tools to manage the community
|
||||||
icon: fa-solid fa-users
|
icon: fa-solid fa-users
|
||||||
@ -16,6 +17,18 @@ menu_categories:
|
|||||||
- kanban
|
- kanban
|
||||||
- management
|
- management
|
||||||
|
|
||||||
|
Social Media:
|
||||||
|
description: Social Media Tools
|
||||||
|
icon: fa-solid fa-share-nodes
|
||||||
|
tags:
|
||||||
|
- microblog
|
||||||
|
- blog
|
||||||
|
- video platform
|
||||||
|
- streaming platform
|
||||||
|
- music platform
|
||||||
|
- social network
|
||||||
|
- portfolio
|
||||||
|
|
||||||
Communication:
|
Communication:
|
||||||
description: Tools for communication
|
description: Tools for communication
|
||||||
icon: fa-solid fa-comments
|
icon: fa-solid fa-comments
|
||||||
@ -24,6 +37,7 @@ menu_categories:
|
|||||||
- communication
|
- communication
|
||||||
- video
|
- video
|
||||||
- mail
|
- mail
|
||||||
|
- email
|
||||||
|
|
||||||
Administration:
|
Administration:
|
||||||
description: Administration Tools
|
description: Administration Tools
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# PostgreSQL 🐳
|
# PostgreSQL
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user