mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-20 15:04:57 +02:00
Implemented presentation
This commit is contained in:
parent
50e7d75932
commit
e3ddc43944
@ -39,6 +39,7 @@ defaults_domains:
|
|||||||
phpmyldap: "phpmyldap.{{primary_domain}}"
|
phpmyldap: "phpmyldap.{{primary_domain}}"
|
||||||
pixelfed: "picture.{{primary_domain}}"
|
pixelfed: "picture.{{primary_domain}}"
|
||||||
portfolio: "{{primary_domain}}"
|
portfolio: "{{primary_domain}}"
|
||||||
|
presentation: "slides.{{primary_domain}}"
|
||||||
roulette-wheel: "roulette.{{primary_domain}}"
|
roulette-wheel: "roulette.{{primary_domain}}"
|
||||||
snipe_it: "inventory.{{primary_domain}}"
|
snipe_it: "inventory.{{primary_domain}}"
|
||||||
sphinx: "docs.{{primary_domain}}"
|
sphinx: "docs.{{primary_domain}}"
|
||||||
|
@ -703,6 +703,12 @@ defaults_applications:
|
|||||||
css_enabled: "{{css_enabled_default}}" # Enables\Disables Global CSS Style
|
css_enabled: "{{css_enabled_default}}" # Enables\Disables Global CSS Style
|
||||||
landingpage_iframe_enabled: false # Doesn't make sense to load landingpage in landingpage
|
landingpage_iframe_enabled: false # Doesn't make sense to load landingpage in landingpage
|
||||||
|
|
||||||
|
## Presentation
|
||||||
|
presentation:
|
||||||
|
matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking
|
||||||
|
css_enabled: "{{css_enabled_default}}" # Enables\Disables Global CSS Style
|
||||||
|
landingpage_iframe_enabled: False # Makes sense to make the documentary allways in iframe available
|
||||||
|
|
||||||
# Snipe-IT
|
# Snipe-IT
|
||||||
snipe_it:
|
snipe_it:
|
||||||
version: "latest"
|
version: "latest"
|
||||||
@ -714,9 +720,9 @@ defaults_applications:
|
|||||||
|
|
||||||
## Sphinx
|
## Sphinx
|
||||||
sphinx:
|
sphinx:
|
||||||
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: "{{css_enabled_default}}" # Enables\Disables Global CSS Style
|
||||||
landingpage_iframe_enabled: true # Makes sense to make the documentary allways in iframe available
|
landingpage_iframe_enabled: true # Makes sense to make the documentary allways in iframe available
|
||||||
|
|
||||||
## Taiga
|
## Taiga
|
||||||
taiga:
|
taiga:
|
||||||
|
@ -52,6 +52,7 @@ ports:
|
|||||||
sphinx: 8036
|
sphinx: 8036
|
||||||
phpldapadmin: 8037
|
phpldapadmin: 8037
|
||||||
fusiondirectory: 8038
|
fusiondirectory: 8038
|
||||||
|
presentation: 8039
|
||||||
bigbluebutton: 48087 # This port is predefined by bbb. @todo Try to change this to a 8XXX port
|
bigbluebutton: 48087 # This port is predefined by bbb. @todo Try to change this to a 8XXX port
|
||||||
# Ports which are exposed to the World Wide Web
|
# Ports which are exposed to the World Wide Web
|
||||||
public:
|
public:
|
||||||
|
@ -78,6 +78,8 @@ defaults_networks:
|
|||||||
subnet: 192.168.103.16/28
|
subnet: 192.168.103.16/28
|
||||||
fusiondirectory:
|
fusiondirectory:
|
||||||
subnet: 192.168.103.32/28
|
subnet: 192.168.103.32/28
|
||||||
|
presentation:
|
||||||
|
subnet: 192.168.103.48/28
|
||||||
|
|
||||||
# /24 Networks / 254 Usable Clients
|
# /24 Networks / 254 Usable Clients
|
||||||
bigbluebutton:
|
bigbluebutton:
|
||||||
|
32
roles/docker-presentation/README.md
Normal file
32
roles/docker-presentation/README.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# CyMaIS Presentation 🚀
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This **CyMaIS Presentation** is a powerful tool designed for showcasing the CyMaIS platform to various audiences, including **Administrators**, **Developers**, **End-Users**, **Businesses**, and **Investors**. The presentation leverages **Reveal.js** to create an interactive, engaging, and fully containerized experience that can be easily deployed with Docker.
|
||||||
|
|
||||||
|
This role automates the process of setting up and running the CyMaIS presentation in a Docker container, ensuring a reproducible and isolated environment for displaying the content.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The **CyMaIS Presentation** role automates the setup of an environment using Docker, providing a seamless process for pulling your source repository, building the presentation, and serving the slides through a lightweight HTTP server. It uses **[Reveal.js](https://revealjs.com/)** for building and serving the presentation slides and can be deployed with **Kevin's Package Manager**.
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- **Fully Automated Setup**: The role handles all tasks, including pulling the source repository, building the Docker image, and serving the presentation through a web server.
|
||||||
|
- **Dockerized Environment**: The entire process is contained within Docker, ensuring consistent builds and easy deployment.
|
||||||
|
- **Interactive Slides**: The presentation is built with **Reveal.js**, allowing for interactive slides with advanced features like fragments, transitions, and more.
|
||||||
|
- **Customizable**: Easily configurable to point to your own source code or documentation.
|
||||||
|
|
||||||
|
## Further Resources
|
||||||
|
|
||||||
|
For more information about the **CyMaIS Presentation**, check out the GitHub repository: [CyMaIS Presentation](https://github.com/kevinveenbirkenbach/cymais-presentation)
|
||||||
|
|
||||||
|
For more about **Reveal.js**, visit: [Reveal.js](https://revealjs.com/)
|
||||||
|
|
||||||
|
## License 📄
|
||||||
|
|
||||||
|
This project is licensed under the **CyMaIS NonCommercial License (CNCL)** - see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
For additional details about CyMaIS, visit: [cymais.cloud](https://cymais.cloud)
|
30
roles/docker-presentation/meta/main.yml
Normal file
30
roles/docker-presentation/meta/main.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
galaxy_info:
|
||||||
|
author: "Kevin Veen-Birkenbach"
|
||||||
|
description: "Automates the process of presenting CyMaIS using Reveal.js in a containerized environment. Ideal for administrators, developers, end-users, businesses, and investors."
|
||||||
|
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:
|
||||||
|
- all
|
||||||
|
- name: Linux
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
galaxy_tags:
|
||||||
|
- presentation
|
||||||
|
- revealjs
|
||||||
|
- docker
|
||||||
|
- automation
|
||||||
|
- deployment
|
||||||
|
repository: "https://github.com/kevinveenbirkenbach/cymais-presentation"
|
||||||
|
issue_tracker_url: "https://s.veen.world/cymaisissues"
|
||||||
|
documentation: "https://s.veen.world/cymais"
|
||||||
|
logo:
|
||||||
|
class: "fa-solid fa-presentation-screen"
|
||||||
|
dependencies:
|
||||||
|
- package-manager
|
28
roles/docker-presentation/tasks/main.yml
Normal file
28
roles/docker-presentation/tasks/main.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
# Docker Routines
|
||||||
|
- name: "include docker-compose role"
|
||||||
|
include_role:
|
||||||
|
name: docker-compose
|
||||||
|
|
||||||
|
- name: install cymais-presentation
|
||||||
|
command:
|
||||||
|
cmd: "pkgmgr install cymais-presentation --clone-mode https"
|
||||||
|
notify: docker compose project build and setup
|
||||||
|
|
||||||
|
- name: Get path of cymais-presentation using pkgmgr
|
||||||
|
command: pkgmgr path cymais-presentation
|
||||||
|
register: path_cymais_presentation_output
|
||||||
|
|
||||||
|
- name: Get path of cymais using pkgmgr
|
||||||
|
command: pkgmgr path cymais
|
||||||
|
register: path_cymais_output
|
||||||
|
|
||||||
|
- name: "include role nginx-domain-setup for {{application_id}}"
|
||||||
|
include_role:
|
||||||
|
name: nginx-domain-setup
|
||||||
|
vars:
|
||||||
|
domain: "{{ domains[application_id] }}"
|
||||||
|
http_port: "{{ ports.localhost.http[application_id] }}"
|
||||||
|
|
||||||
|
- name: "copy docker-compose.yml and env file"
|
||||||
|
include_tasks: copy-docker-compose-and-env.yml
|
20
roles/docker-presentation/templates/docker-compose.yml.j2
Normal file
20
roles/docker-presentation/templates/docker-compose.yml.j2
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
services:
|
||||||
|
cymais-presentation:
|
||||||
|
build:
|
||||||
|
context: {{ path_cymais_presentation_output.stdout }}
|
||||||
|
dockerfile: {{ path_cymais_presentation_output.stdout }}/Dockerfile
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:{{ports.localhost.http[application_id]}}:5000"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:5000"]
|
||||||
|
interval: 1m
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
volumes:
|
||||||
|
- {{ path_cymais_presentation_output.stdout }}:/app
|
||||||
|
- {{ path_cymais_output.stdout }}:/source
|
||||||
|
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
||||||
|
{% include 'templates/docker/container/networks.yml.j2' %}
|
||||||
|
|
||||||
|
{% include 'templates/docker/compose/networks.yml.j2' %}
|
||||||
|
|
0
roles/docker-presentation/templates/env.j2
Normal file
0
roles/docker-presentation/templates/env.j2
Normal file
1
roles/docker-presentation/vars/main.yml
Normal file
1
roles/docker-presentation/vars/main.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
application_id: "presentation"
|
@ -211,6 +211,11 @@
|
|||||||
include_role:
|
include_role:
|
||||||
name: docker-pgadmin
|
name: docker-pgadmin
|
||||||
|
|
||||||
|
- name: setup presentation
|
||||||
|
when: ("presentation" in group_names)
|
||||||
|
include_role:
|
||||||
|
name: docker-presentation
|
||||||
|
|
||||||
# Native Webserver Roles
|
# Native Webserver Roles
|
||||||
- name: setup nginx-serve-htmls
|
- name: setup nginx-serve-htmls
|
||||||
when: ("nginx-serve-htmls" in group_names)
|
when: ("nginx-serve-htmls" in group_names)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user