Implemented assets server

This commit is contained in:
Kevin Veen-Birkenbach 2025-03-20 03:47:12 +01:00
parent 836a3e0238
commit 87ca1ccc11
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
23 changed files with 54 additions and 34 deletions

View File

@ -4,7 +4,7 @@ Welcome to CyMaIS (Cyber Master Infrastructure Solution), a transformative tool
At its core, CyMaIS leverages the power of Docker, Linux, and Ansible to offer a streamlined, automated solution for deploying and managing IT systems. At its core, CyMaIS leverages the power of Docker, Linux, and Ansible to offer a streamlined, automated solution for deploying and managing IT systems.
<img src="https://cybermaster.space/wp-content/uploads/sites/7/2023/12/logo_cymais.png" width="300" style="float: right; margin-left: 10px;"> <img src="assets/img/logo.png" width="300" style="float: right; margin-left: 10px;">
Whether you're a small startup, a growing enterprise, or an individual seeking efficient IT management, CyMaIS provides a comprehensive suite of tools that cater to a wide range of needs. From simple system setups to complex server configurations and end-user PC management, CyMaIS simplifies the entire process. Whether you're a small startup, a growing enterprise, or an individual seeking efficient IT management, CyMaIS provides a comprehensive suite of tools that cater to a wide range of needs. From simple system setups to complex server configurations and end-user PC management, CyMaIS simplifies the entire process.

View File

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 162 KiB

View File

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 286 KiB

View File

@ -20,19 +20,24 @@ defaults_applications:
## Akaunting ## Akaunting
akaunting: akaunting:
version: "latest" version: "latest"
company_name: "{{primary_domain}}" company_name: "{{primary_domain}}"
company_email: "{{users.administrator.email}}" company_email: "{{users.administrator.email}}"
setup_admin_email: "{{users.administrator.email}}" setup_admin_email: "{{users.administrator.email}}"
database: database:
central_storage: True central_storage: True
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: "{{landingpage_iframe_enabled_default}}" # Enables\Disables the possibility to embed this on landing page via iframe landingpage_iframe_enabled: "{{landingpage_iframe_enabled_default}}" # Enables\Disables the possibility to embed this on landing page via iframe
## Assets Server
assets_server:
source_directory: "{{ playbook_dir }}/assets" # Directory from which the assets will be copied
url: "https://{{domains.file_server}}/assets}}" # Public address of the assets directory
## Attendize ## Attendize
attendize: attendize:
version: "latest" version: "latest"
database: database:
central_storage: True central_storage: True
matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking
@ -162,12 +167,6 @@ 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: "true" # Landingpage should be embeded in portfolio landingpage_iframe_enabled: "true" # Landingpage should be embeded in portfolio
## Imprint
imprint:
matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking
css_enabled: "{{css_enabled_default}}" # Enables\Disables Global CSS Style
landingpage_iframe_enabled: "true" # Landingpage should be embeded in portfolio
## Keycloak ## Keycloak
keycloak: keycloak:
version: "latest" version: "latest"
@ -316,12 +315,12 @@ defaults_applications:
## Moodle ## Moodle
moodle: moodle:
site_titel: "Global Learning Academy on {{primary_domain}}" site_titel: "Global Learning Academy on {{primary_domain}}"
users: users:
administrator: administrator:
username: "{{users.administrator.username}}" username: "{{users.administrator.username}}"
email: "{{users.administrator.email}}" email: "{{users.administrator.email}}"
version: "latest" version: "latest"
database: database:
central_storage: True # Activate Central Database Storage central_storage: True # Activate Central Database Storage
matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking matomo_tracking_enabled: "{{matomo_tracking_enabled_default}}" # Enables\Disables Matomo Tracking

View File

@ -9,12 +9,12 @@ defaults_service_provider:
city: "Cybertown" city: "Cybertown"
postal_code: "00001" postal_code: "00001"
country: "Nexusland" country: "Nexusland"
logo: https://cloud.veen.world/s/logo_cymais_512x512/download logo: "{{applications.assets_server.url}}/logo.png"
platform: platform:
titel: "CyMaIS Plattform Demo" titel: "CyMaIS Plattform Demo"
subtitel: "Demo of the Cyber Master Infrastructur Solution Plattform" subtitel: "Demo of the Cyber Master Infrastructur Solution Plattform"
logo: https://cloud.veen.world/s/logo_cymais_512x512/download logo: "{{applications.assets_server.url}}/logo.png"
favicon: https://cloud.veen.world/s/veen_world_favicon/download favicon: "{{applications.assets_server.url}}/favicon.ico"
contact: contact:
bluesky: "{{ '@' ~ users.administrator.username ~ '.' ~ domains.bluesky_api if 'bluesky' in group_names else '' }}" bluesky: "{{ '@' ~ users.administrator.username ~ '.' ~ domains.bluesky_api if 'bluesky' in group_names else '' }}"
email: "contact@{{ primary_domain }}" email: "contact@{{ primary_domain }}"

View File

@ -1,3 +1,4 @@
dependencies: dependencies:
- nginx-serve-html-legal - nginx-serve-legal
- nginx-serve-assets
- docker-portfolio - docker-portfolio

View File

@ -0,0 +1,2 @@
dependencies:
- nginx-serve-files

View File

@ -0,0 +1,7 @@
---
- name: "Recursively copy files from local '{{ source_directory }}' to '{{ target_directory }}'"
ansible.builtin.copy:
src: "{{ source_directory }}"
dest: "{{ target_directory }}"
owner: "{{ nginx.user }}"
group: "{{ nginx.user }}"

View File

@ -0,0 +1,3 @@
application_id: "assets_server" # Application identifier
source_directory: "{{ applications[application_id].source_directory }}/" # Source directory from which the files are coming from
target_directory: "{{ nginx.directories.data.files }}assets" # Directory to which the files will be copied

View File

@ -1,5 +0,0 @@
---
- name: copy imprint.html
template:
src: "imprint.html.j2"
dest: "{{nginx.directories.data.html}}imprint.html"

View File

@ -1 +0,0 @@
application_id: "imprint" # Application identifier

View File

@ -0,0 +1,6 @@
# Nginx Homepage Role
This Ansible role configures an Nginx server to serve a static homepage. It handles domain configuration, SSL certificate retrieval with Let's Encrypt.
## Author Information
This role was created in 2023 by [Kevin Veen Birkenbach](https://www.veen.world/).

View File

@ -0,0 +1,7 @@
---
- name: copy imprint.html
template:
src: "imprint.html.j2"
dest: "{{nginx.directories.data.html}}imprint.html"
owner: "{{nginx.user}}"
group: "{{nginx.user}}"

View File

@ -0,0 +1 @@
application_id: "legal" # Application identifier

2
sphinx/.gitignore vendored
View File

@ -1 +1 @@
_static/img/* assets/img/*

View File

@ -11,8 +11,8 @@ SPHINX_BUILD_DIR ?= ../docs
# Copy images before running any Sphinx command (except for help) # Copy images before running any Sphinx command (except for help)
copy-images: copy-images:
@echo "Copying images from ../images/ to ./_static/img/..." @echo "Copying images from ../images/ to ./assets/img/..."
cp -r ../images/* ./_static/img/ cp -r ../assets/img/* ./assets/img/
# "help" target does not copy images # "help" target does not copy images
help: help:

View File

@ -22,7 +22,7 @@ exclude_patterns = ['docs', 'venv', 'venv/**']
# -- Options for HTML output ------------------------------------------------- # -- Options for HTML output -------------------------------------------------
html_theme = 'sphinxawesome_theme' html_theme = 'sphinxawesome_theme'
html_static_path = ['_static'] html_static_path = ['assets']
html_sidebars = { html_sidebars = {
'**': [ '**': [
@ -31,8 +31,8 @@ html_sidebars = {
] ]
} }
cymais_logo = "_static/img/logo.png" cymais_logo = "assets/img/logo.png"
html_favicon = "_static/img/favicon.ico" html_favicon = "assets/img/favicon.ico"
html_theme_options = { html_theme_options = {
"show_prev_next": False, "show_prev_next": False,

View File

@ -1,5 +1,5 @@
<div class="sidebar-logo" style="text-align: center; margin-bottom: 1em;"> <div class="sidebar-logo" style="text-align: center; margin-bottom: 1em;">
<img src="{{ pathto("_static/img/logo_cymais.png", 1) }}" alt="Logo" style="max-width: 100%;"> <img src="{{ pathto("assets/img/logo_cymais.png", 1) }}" alt="Logo" style="max-width: 100%;">
</div> </div>

View File

@ -61,5 +61,5 @@
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
<script src="{{ pathto('_static/js/current-nav.js', 1) }}"></script> <script src="{{ pathto('assets/js/current-nav.js', 1) }}"></script>