mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-03-29 04:23:34 +01:00
Redrafted Sphinx for CyMaIS
This commit is contained in:
parent
fe85d4bd37
commit
c402583f2b
@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
Are you looking for a **reliable IT infrastructure** for your business or organization? **CyMaIS** is here to help!
|
Are you looking for a **reliable IT infrastructure** for your business or organization? **CyMaIS** is here to help!
|
||||||
|
|
||||||
### Who Can Benefit? 🎯
|
## Who Can Benefit? 🎯
|
||||||
✅ **Small & Medium Businesses** - Automate IT setup & security
|
✅ **Small & Medium Businesses** - IT infrastructure with everything included what you need. E.g. data clouds, mailservers, vpn's, homepages, documentation tools, etc.
|
||||||
✅ **Enterprises** - Scale deployments with modular architecture
|
✅ **Enterprises** - Scale the solutions for Small & Medium Businesses up for an unlimeted amount of users
|
||||||
✅ **NGOs & Organizations** - Secure, cost-effective infrastructure solutions
|
✅ **NGOs & Organizations** - Secure, cost-effective infrastructure solutions on Open Source Base
|
||||||
|
✅ **Journalists & Content Creators** - Host your content on your own servers, share it via the Fediverse and avoid cencorship
|
||||||
|
|
||||||
### Why Choose CyMaIS? 🚀
|
## Why Choose CyMaIS? 🚀
|
||||||
- **Fast Deployment** - Get your IT setup running in minutes
|
- **Fast Deployment** - Get your IT setup running in minutes
|
||||||
- **Security First** - Encrypted backups, 2FA, and secure logins
|
- **Security First** - Encrypted backups, 2FA, and secure logins
|
||||||
- **Scalable & Customizable** - Adapts to your specific needs
|
- **Scalable & Customizable** - Adapts to your specific needs
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
# Administrator Guide 🖥️
|
||||||
|
|
||||||
|
This guide is for **system administrators** who are deploying and managing CyMaIS infrastructure.
|
||||||
|
|
||||||
|
## Setting Up CyMaIS 🏗️
|
||||||
|
Follow these guides to install and configure CyMaIS:
|
||||||
|
- [Setup Guide](07_SETUP_GUIDE.md)
|
||||||
|
- [Configuration Guide](08_CONFIGURATION.md)
|
||||||
|
- [Deployment Guide](09_DEPLOY.md)
|
||||||
|
|
||||||
|
## Key Responsibilities 🔧
|
||||||
|
- **User Management** - Configure LDAP, Keycloak, and user permissions.
|
||||||
|
- **Security & Backups** - Set up `backup-remote-to-local`, `backup-data-to-usb`, and `system-security` roles.
|
||||||
|
- **Application Hosting** - Deploy services like `Nextcloud`, `Matrix`, `Gitea`, and more.
|
||||||
|
- **Networking & VPN** - Configure `WireGuard`, `OpenVPN`, and `Nginx Reverse Proxy`.
|
||||||
|
|
||||||
|
## Managing & Updating CyMaIS 🔄
|
||||||
|
- Regularly update services using `update-docker`, `update-pacman`, or `update-apt`.
|
||||||
|
- Monitor system health with `health-btrfs`, `health-nginx`, and `health-docker-container`.
|
||||||
|
- Automate system maintenance with `system-maintenance-lock`, `cleanup-backups-service`, and `restart-docker`.
|
||||||
|
|
||||||
|
For more details, refer to the specific guides above.
|
@ -3,12 +3,6 @@ Developer Guide
|
|||||||
|
|
||||||
Welcome to the **CyMaIS Developer Guide**! This guide provides essential information for developers who want to contribute to the CyMaIS open-source project.
|
Welcome to the **CyMaIS Developer Guide**! This guide provides essential information for developers who want to contribute to the CyMaIS open-source project.
|
||||||
|
|
||||||
Getting Started
|
|
||||||
---------------
|
|
||||||
To understand the overall structure of CyMaIS, start by reviewing the available YAML configuration files:
|
|
||||||
|
|
||||||
- :doc:`docs/generated/yaml_index`
|
|
||||||
|
|
||||||
Explore CyMaIS Solutions
|
Explore CyMaIS Solutions
|
||||||
------------------------
|
------------------------
|
||||||
CyMaIS offers various solutions for IT infrastructure automation. Learn more about the available applications:
|
CyMaIS offers various solutions for IT infrastructure automation. Learn more about the available applications:
|
||||||
@ -18,17 +12,24 @@ CyMaIS offers various solutions for IT infrastructure automation. Learn more abo
|
|||||||
|
|
||||||
For Developers
|
For Developers
|
||||||
--------------
|
--------------
|
||||||
### Understanding Ansible Roles
|
|
||||||
|
Understanding Ansible Roles
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CyMaIS is powered by **Ansible** roles to automate deployments. Developers can explore the technical details of our roles here:
|
CyMaIS is powered by **Ansible** roles to automate deployments. Developers can explore the technical details of our roles here:
|
||||||
|
|
||||||
- :doc:`roles/ansible_role_glosar`
|
- :doc:`roles/ansible_role_glosar`
|
||||||
|
|
||||||
### Contributing to CyMaIS
|
Contributing to CyMaIS
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Want to contribute to the project or explore the source code? Check out our **GitHub repository**:
|
Want to contribute to the project or explore the source code? Check out our **GitHub repository**:
|
||||||
|
|
||||||
- `CyMaIS GitHub Repository <https://github.com/kevinveenbirkenbach/cymais/tree/master/roles>`_
|
- `CyMaIS GitHub Repository <https://github.com/kevinveenbirkenbach/cymais/tree/master/roles>`_
|
||||||
|
|
||||||
### Contribution Guidelines
|
Contribution Guidelines
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
1. **Fork the Repository** – Start by forking the CyMaIS repository.
|
1. **Fork the Repository** – Start by forking the CyMaIS repository.
|
||||||
2. **Create a New Branch** – Make changes in a dedicated branch.
|
2. **Create a New Branch** – Make changes in a dedicated branch.
|
||||||
3. **Follow Coding Standards** – Ensure your code is well-documented and follows best practices.
|
3. **Follow Coding Standards** – Ensure your code is well-documented and follows best practices.
|
||||||
|
13
README.md
13
README.md
@ -1,18 +1,19 @@
|
|||||||
|
|
||||||
# README.md
|
|
||||||
|
|
||||||
# CyMaIS - Cyber Master Infrastructure Solution 🚀
|
# CyMaIS - Cyber Master Infrastructure Solution 🚀
|
||||||
|
|
||||||
|
[](https://github.com/sponsors/kevinveenbirkenbach) [](https://www.patreon.com/c/kevinveenbirkenbach) [](https://buymeacoffee.com/kevinveenbirkenbach) [](https://s.veen.world/paypaldonate)
|
||||||
|
|
||||||
Welcome to **CyMaIS (Cyber Master Infrastructure Solution)**, a powerful automation framework that simplifies IT infrastructure setup and management. Whether you are an **end-user** looking to access cloud services securely or an **administrator** responsible for deploying and maintaining infrastructure, CyMaIS provides a seamless and secure solution.
|
Welcome to **CyMaIS (Cyber Master Infrastructure Solution)**, a powerful automation framework that simplifies IT infrastructure setup and management. Whether you are an **end-user** looking to access cloud services securely or an **administrator** responsible for deploying and maintaining infrastructure, CyMaIS provides a seamless and secure solution.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## What is CyMaIS? 📌
|
## What is CyMaIS? 📌
|
||||||
CyMaIS leverages **Docker, Linux, and Ansible** to provide an automated and modular infrastructure solution. With more then **148 pre-configured roles**, it supports a wide range of applications, from cloud services to local server management and desktop workstation setups.
|
CyMaIS leverages **Docker, Linux, and Ansible** to provide an automated and modular infrastructure solution. With more then **150 pre-configured roles**, it supports a wide range of applications, from cloud services to local server management and desktop workstation setups.
|
||||||
|
|
||||||
## Guides 📖
|
## Guides 📖
|
||||||
- **[User Guide](04_USER_GUIDE.md)** - For end-users accessing cloud apps like Nextcloud, Matrix, and more.
|
- **[User Guide](04_USER_GUIDE.md)** - For end-users accessing cloud apps like Nextcloud, Matrix, and more.
|
||||||
- **[Administrator Guide](06_ADMINISTRATOR_GUIDE.md)** - For system administrators deploying CyMaIS.
|
- **[Administrator Guide](06_ADMINISTRATOR_GUIDE.md)** - For system administrators deploying CyMaIS.
|
||||||
|
- **[Customer Guide](05_CUSTOMER_GUIDE.md)** - For customers which are interested in an infrastructure setup
|
||||||
|
|
||||||
## Key Features 🎯
|
## Key Features 🎯
|
||||||
- **Automated IT deployment** 📦 - Pre-built roles for server and PC setups
|
- **Automated IT deployment** 📦 - Pre-built roles for server and PC setups
|
||||||
@ -21,6 +22,8 @@ CyMaIS leverages **Docker, Linux, and Ansible** to provide an automated and modu
|
|||||||
- **Backup & recovery solutions** 💾 - Automate data security and prevent loss
|
- **Backup & recovery solutions** 💾 - Automate data security and prevent loss
|
||||||
- **Infrastructure monitoring & maintenance** 📊 - Keep your system running optimally
|
- **Infrastructure monitoring & maintenance** 📊 - Keep your system running optimally
|
||||||
|
|
||||||
|
More informations about the features you will find [here](01_FEATURES.md).
|
||||||
|
|
||||||
## Get Started 🚀
|
## Get Started 🚀
|
||||||
1. **Install CyMaIS** via [Kevin's Package Manager](https://github.com/kevinveenbirkenbach/package-manager)
|
1. **Install CyMaIS** via [Kevin's Package Manager](https://github.com/kevinveenbirkenbach/package-manager)
|
||||||
2. **Setup CyMaIS** using:
|
2. **Setup CyMaIS** using:
|
||||||
@ -30,6 +33,4 @@ CyMaIS leverages **Docker, Linux, and Ansible** to provide an automated and modu
|
|||||||
3. **Explore Commands** with:
|
3. **Explore Commands** with:
|
||||||
```sh
|
```sh
|
||||||
cymais --help
|
cymais --help
|
||||||
```
|
```
|
||||||
|
|
||||||
For detailed setup instructions, check out the [Setup Guide](07_SETUP_GUIDE.md) and [Configuration Guide](08_CONFIGURATION.md).
|
|
7
docs/.gitignore
vendored
7
docs/.gitignore
vendored
@ -1,5 +1,8 @@
|
|||||||
assets/img/*
|
assets/img/*
|
||||||
!assets/img/.gitkeep
|
!assets/img/.gitkeep
|
||||||
build/*
|
output/*
|
||||||
|
!output/.gitkeep
|
||||||
generated/*
|
generated/*
|
||||||
!generated/.gitkeep
|
!generated/.gitkeep
|
||||||
|
requirements/*
|
||||||
|
!requirements/.gitkeep
|
@ -2,26 +2,30 @@ ARG DOCKER_PYTHON_VERSION
|
|||||||
FROM python:${DOCKER_PYTHON_VERSION}
|
FROM python:${DOCKER_PYTHON_VERSION}
|
||||||
|
|
||||||
ARG SPHINX_SOURCE_DIR
|
ARG SPHINX_SOURCE_DIR
|
||||||
ARG SPHINX_BUILD_DIR
|
ARG SPHINX_OUTPUT_DIR
|
||||||
ARG SPHINX_EXEC_DIR
|
ARG SPHINX_EXEC_DIR
|
||||||
ARG SPHINX_APP_DIR
|
ARG SPHINX_DOCKER_EXEC_DIR
|
||||||
ARG SPHINX_SOURCE_DIR_RELATIVE
|
ARG SPHINX_SOURCE_DIR_RELATIVE
|
||||||
|
|
||||||
# Set the environment variables so they are available during build for Makefile
|
# Set the environment variables so they are available during build for Makefile
|
||||||
ENV SPHINX_SOURCE_DIR=${SPHINX_SOURCE_DIR}
|
ENV SPHINX_SOURCE_DIR=${SPHINX_SOURCE_DIR}
|
||||||
ENV SPHINX_BUILD_DIR=${SPHINX_BUILD_DIR}
|
ENV SPHINX_OUTPUT_DIR=${SPHINX_OUTPUT_DIR}
|
||||||
|
ENV SPHINX_REQUIREMENTS_DIR=${SPHINX_EXEC_DIR}/requirements
|
||||||
|
|
||||||
|
# Build the requirement files
|
||||||
|
RUN cd ${SPHINX_EXEC_DIR} && make requirements
|
||||||
|
|
||||||
# Install required packages
|
# Install required packages
|
||||||
RUN apt-get update && apt-get install -y make curl
|
RUN apt-get update && xargs -a ${SPHINX_REQUIREMENTS_DIR}/apt.txt apt install -y
|
||||||
|
|
||||||
# Set the working directory
|
# Set the working directory
|
||||||
WORKDIR ${SPHINX_APP_DIR}
|
WORKDIR ${SPHINX_DOCKER_EXEC_DIR}
|
||||||
|
|
||||||
# Copy the project files into the container
|
# Copy the project files into the container
|
||||||
COPY ${SPHINX_SOURCE_DIR_RELATIVE} ${SPHINX_APP_DIR}
|
COPY ${SPHINX_SOURCE_DIR_RELATIVE} ${SPHINX_DOCKER_EXEC_DIR}
|
||||||
|
|
||||||
# Install Python packages via requirements.txt
|
# Install Python packages via requirements.txt
|
||||||
RUN cd ${SPHINX_EXEC_DIR} && pip install --upgrade pip && pip install -r requirements.txt
|
RUN pip install --upgrade pip && pip install -r ${SPHINX_REQUIREMENTS_DIR}/pip.txt
|
||||||
|
|
||||||
# Build the HTML documentation using Sphinx with the defined directories
|
# Build the HTML documentation using Sphinx with the defined directories
|
||||||
RUN cd ${SPHINX_EXEC_DIR} && make html
|
RUN cd ${SPHINX_EXEC_DIR} && make html
|
||||||
@ -30,4 +34,4 @@ RUN cd ${SPHINX_EXEC_DIR} && make html
|
|||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|
||||||
# Start a simple HTTP server to serve the built documentation
|
# Start a simple HTTP server to serve the built documentation
|
||||||
CMD python -m http.server 8000 --directory "${SPHINX_BUILD_DIR}html/"
|
CMD python -m http.server 8000 --directory "${SPHINX_OUTPUT_DIR}html/"
|
@ -1,14 +1,33 @@
|
|||||||
# Minimal Makefile for Sphinx documentation
|
# PARAMETER (with default values)
|
||||||
#
|
|
||||||
# You can set these variables from the command line, and also
|
|
||||||
# from the environment
|
|
||||||
SPHINXOPTS ?= -c .
|
|
||||||
SPHINXBUILD ?= sphinx-build
|
|
||||||
SPHINX_SOURCE_DIR ?= ../
|
|
||||||
SPHINX_BUILD_DIR ?= ./build
|
|
||||||
SPHINX_GENERATED_DIR = $(SPHINX_BUILD_DIR)/../generated
|
|
||||||
|
|
||||||
.PHONY: help install copy-images apidoc remove-generated html generate Makefile
|
# Directory which cointains the Makefile
|
||||||
|
SPHINX_EXEC_DIR ?= .
|
||||||
|
|
||||||
|
# Directory from which the sources will be read
|
||||||
|
SPHINX_SOURCE_DIR ?= ../
|
||||||
|
|
||||||
|
# Directory which contains the builded files
|
||||||
|
SPHINX_OUTPUT_DIR ?= ./output
|
||||||
|
|
||||||
|
# Args parsed to the sphinx-build command
|
||||||
|
SPHINXOPTS ?= -c $(SPHINX_EXEC_DIR)
|
||||||
|
|
||||||
|
# CONSTANTS
|
||||||
|
|
||||||
|
# Sphinx build command
|
||||||
|
SPHINX_BUILD_COMMAND = sphinx-build
|
||||||
|
|
||||||
|
# Directory which contains the auto generated files
|
||||||
|
SPHINX_GENERATED_DIR = $(SPHINX_OUTPUT_DIR)/../generated
|
||||||
|
|
||||||
|
# Directory which contains the extracted requirement files
|
||||||
|
SPHINX_REQUIREMENTS_DIR = $(SPHINX_EXEC_DIR)/requirements
|
||||||
|
|
||||||
|
.PHONY: help install copy-images apidoc remove-generated html generate extract-requirements Makefile
|
||||||
|
|
||||||
|
extract-requirements:
|
||||||
|
@echo "Creating requirement files"
|
||||||
|
bash ./scripts/extract-requirements.sh "$(SPHINX_EXEC_DIR)/requirements.yml" "$(SPHINX_REQUIREMENTS_DIR)/apt.txt" "$(SPHINX_REQUIREMENTS_DIR)/pip.txt"
|
||||||
|
|
||||||
# Copy images before running any Sphinx command (except for help)
|
# Copy images before running any Sphinx command (except for help)
|
||||||
copy-images:
|
copy-images:
|
||||||
@ -42,20 +61,20 @@ remove-generated:
|
|||||||
- find $(SPHINX_GENERATED_DIR)/ -type f ! -name '.gitkeep' -delete
|
- find $(SPHINX_GENERATED_DIR)/ -type f ! -name '.gitkeep' -delete
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@$(SPHINXBUILD) -M help "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS) $(O)
|
@$(SPHINX_BUILD_COMMAND) -M help "$(SPHINX_SOURCE_DIR)" "$(SPHINX_OUTPUT_DIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
html: copy-images generate
|
html: copy-images generate
|
||||||
@echo "Building Sphinx documentation..."
|
@echo "Building Sphinx documentation..."
|
||||||
$(SPHINXBUILD) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS)
|
$(SPHINX_BUILD_COMMAND) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_OUTPUT_DIR)" $(SPHINXOPTS)
|
||||||
|
|
||||||
just-html:
|
just-html:
|
||||||
@$(SPHINXBUILD) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS)
|
@$(SPHINX_BUILD_COMMAND) -M html "$(SPHINX_SOURCE_DIR)" "$(SPHINX_OUTPUT_DIR)" $(SPHINXOPTS)
|
||||||
|
|
||||||
|
|
||||||
clean: remove-generated
|
clean: remove-generated
|
||||||
@$(SPHINXBUILD) -M clean "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS) $(O)
|
@$(SPHINX_BUILD_COMMAND) -M clean "$(SPHINX_SOURCE_DIR)" "$(SPHINX_OUTPUT_DIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
%: Makefile
|
%: Makefile
|
||||||
@$(SPHINXBUILD) -M $@ "$(SPHINX_SOURCE_DIR)" "$(SPHINX_BUILD_DIR)" $(SPHINXOPTS) $(O)
|
@$(SPHINX_BUILD_COMMAND) -M $@ "$(SPHINX_SOURCE_DIR)" "$(SPHINX_OUTPUT_DIR)" $(SPHINXOPTS) $(O)
|
||||||
|
@ -15,7 +15,7 @@ def convert_md_to_rst(md_content):
|
|||||||
return result.stdout.decode("utf-8")
|
return result.stdout.decode("utf-8")
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print("Error converting Markdown to reStructuredText:", e)
|
print("Error converting Markdown to reStructuredText:", e)
|
||||||
return md_content # Falls Pandoc fehlschlägt, nutze das Original als Fallback
|
return md_content
|
||||||
|
|
||||||
def generate_ansible_roles_doc(roles_dir, output_dir):
|
def generate_ansible_roles_doc(roles_dir, output_dir):
|
||||||
"""Generates reStructuredText documentation for Ansible roles."""
|
"""Generates reStructuredText documentation for Ansible roles."""
|
||||||
|
0
docs/output/.gitkeep
Normal file
0
docs/output/.gitkeep
Normal file
@ -1,9 +0,0 @@
|
|||||||
myst-parser
|
|
||||||
sphinx
|
|
||||||
sphinxawesome-theme
|
|
||||||
docutils
|
|
||||||
sphinx-jinja
|
|
||||||
sphinxcontrib-yaml
|
|
||||||
pathspec
|
|
||||||
markdown2
|
|
||||||
pandoc
|
|
13
docs/requirements.yml
Normal file
13
docs/requirements.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
apt:
|
||||||
|
make
|
||||||
|
curl
|
||||||
|
pandoc
|
||||||
|
pip:
|
||||||
|
myst-parser
|
||||||
|
sphinx
|
||||||
|
sphinxawesome-theme
|
||||||
|
docutils
|
||||||
|
sphinx-jinja
|
||||||
|
sphinxcontrib-yaml
|
||||||
|
pathspec
|
||||||
|
markdown2
|
0
docs/requirements/.gitkeep
Normal file
0
docs/requirements/.gitkeep
Normal file
38
docs/scripts/extract-requirements.sh
Normal file
38
docs/scripts/extract-requirements.sh
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check if correct number of arguments is given
|
||||||
|
if [[ $# -ne 3 ]]; then
|
||||||
|
echo "Usage: $0 <input_file> <apt_output_file> <pip_output_file>"
|
||||||
|
echo "Input: $0 <$1> <$2> <$3>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
input_file="$1"
|
||||||
|
apt_file="$2"
|
||||||
|
pip_file="$3"
|
||||||
|
|
||||||
|
# Clear the output files
|
||||||
|
> "$apt_file"
|
||||||
|
> "$pip_file"
|
||||||
|
|
||||||
|
current_section=""
|
||||||
|
|
||||||
|
while IFS= read -r line; do
|
||||||
|
[[ -z "$line" ]] && continue
|
||||||
|
|
||||||
|
if [[ "$line" == apt:* ]]; then
|
||||||
|
current_section="apt"
|
||||||
|
continue
|
||||||
|
elif [[ "$line" == pip:* ]]; then
|
||||||
|
current_section="pip"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
package=$(echo "$line" | sed 's/^[[:space:]]*//')
|
||||||
|
|
||||||
|
if [[ "$current_section" == "apt" ]]; then
|
||||||
|
echo "$package" >> "$apt_file"
|
||||||
|
elif [[ "$current_section" == "pip" ]]; then
|
||||||
|
echo "$package" >> "$pip_file"
|
||||||
|
fi
|
||||||
|
done < "$input_file"
|
@ -26,10 +26,10 @@
|
|||||||
domain: "{{ domains[application_id] }}"
|
domain: "{{ domains[application_id] }}"
|
||||||
http_port: "{{ ports.localhost.http[application_id] }}"
|
http_port: "{{ ports.localhost.http[application_id] }}"
|
||||||
|
|
||||||
- name: "create {{ sphinx_docker_file }}"
|
- name: "create {{ sphinx_host_dockerfile }}"
|
||||||
copy:
|
copy:
|
||||||
src: "Dockerfile"
|
src: "{{ sphinx_control_node_dockerfile }}"
|
||||||
dest: "{{ sphinx_docker_file }}"
|
dest: "{{ sphinx_host_dockerfile }}"
|
||||||
mode: '770'
|
mode: '770'
|
||||||
force: yes
|
force: yes
|
||||||
notify: docker compose project build and setup
|
notify: docker compose project build and setup
|
||||||
|
@ -4,12 +4,12 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
args:
|
args:
|
||||||
SPHINX_SOURCE_DIR: {{docker_source_dir}}
|
SPHINX_SOURCE_DIR: {{docker_source_dir}}
|
||||||
SPHINX_BUILD_DIR: {{docker_output_dir}}
|
SPHINX_OUTPUT_DIR: {{docker_output_dir}}
|
||||||
SPHINX_EXEC_DIR: {{docker_exec_dir}}
|
SPHINX_EXEC_DIR: {{docker_exec_dir}}
|
||||||
SPHINX_APP_DIR: {{docker_app_dir}}
|
SPHINX_DOCKER_EXEC_DIR: {{docker_app_dir}}
|
||||||
SPHINX_SOURCE_DIR_RELATIVE: {{host_sphinx_source_dir_relative}}
|
SPHINX_SOURCE_DIR_RELATIVE: {{host_sphinx_source_dir_relative}}
|
||||||
DOCKER_PYTHON_VERSION: {{applications[application_id].version}}
|
DOCKER_PYTHON_VERSION: {{applications[application_id].version}}
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:{{ports.localhost.http[application_id]}}:8000"
|
- "127.0.0.1:{{ports.localhost.http[application_id]}}:8000"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
@ -5,7 +5,8 @@ host_sphinx_source_dir_absolute: "{{docker_compose.directories.instance}}{{host
|
|||||||
|
|
||||||
docker_app_dir: "/app/" # Folder in which the application is running
|
docker_app_dir: "/app/" # Folder in which the application is running
|
||||||
docker_source_dir: "{{docker_app_dir}}" # Folder which is used to be screened
|
docker_source_dir: "{{docker_app_dir}}" # Folder which is used to be screened
|
||||||
docker_output_dir: "/docs/" # Folder to which the output is fuuuucking putted!
|
docker_output_dir: "/output/" # Folder to which the output is fuuuucking putted!
|
||||||
docker_exec_dir: "{{docker_app_dir}}{{applications.sphinx.sphinx_exec_dir_relative}}" # Folder which contains the sphinxs makefile and logic
|
docker_exec_dir: "{{docker_app_dir}}{{applications.sphinx.sphinx_exec_dir_relative}}" # Folder which contains the sphinxs makefile and logic
|
||||||
|
|
||||||
sphinx_docker_file: "{{ docker_compose.directories.instance }}Dockerfile" # Path to the Dockerfile to build sphinx
|
sphinx_host_dockerfile: "{{ docker_compose.directories.instance }}Dockerfile" # Path to the Dockerfile to build sphinx
|
||||||
|
sphinx_control_node_dockerfile: "{{ [ playbook_dir, 'docs/Dockerfile' ] | path_join }}" # Path to the Dockerfile on the control node
|
Loading…
x
Reference in New Issue
Block a user