chore: lots of changes

This commit is contained in:
2025-05-24 07:09:22 +02:00
parent 77ee769d5e
commit 899227b0a4
178 changed files with 5145 additions and 53 deletions

View File

@@ -0,0 +1,40 @@
#- name: Check ob /ping erreichbar ist
# uri:
# url: "http://localhost/ping"
# status_code: 200
# return_content: yes
# register: ping_response
#
#- debug:
# var: ping_response.content
- name: Healthcheck nach dem Deployment
hosts: localhost
connection: local
gather_facts: false
become: false
vars:
healthcheck_url: "http://127.0.0.1:8080/ping"
max_retries: 10
delay_between_retries: 3
tasks:
- name: Warte, bis der Webserver erreichbar ist
uri:
url: "{{ healthcheck_url }}"
status_code: 200
return_content: yes
register: healthcheck_response
retries: "{{ max_retries }}"
delay: "{{ delay_between_retries }}"
until: >
healthcheck_response is defined and
healthcheck_response.status is defined and
healthcheck_response.status == 200
failed_when: healthcheck_response.status != 200
ignore_errors: false
- name: Ausgabe des Healthcheck-Resultats
debug:
msg: "Healthcheck erfolgreich: {{ healthcheck_response.content }}"

View File

@@ -0,0 +1,24 @@
- name: Deployment in jeweilige Umgebung
hosts: all
become: true
gather_facts: false
vars:
docker_compose_project_path: "/var/www/michaelschiemer/"
env_file_path: "/var/www/michaelschiemer/.env"
deploy_root: /var/www/michaelschiemer
deploy_public: "{{ deploy_root }}/public"
deploy_user: deploy
app_domain: "example.com" # Passe ggf. an
project_root: "{{ playbook_dir }}/../.."
roles:
- app
- nginx
- php
- redis

View File

@@ -0,0 +1,26 @@
- name: Deployment für DEV (localhost)
hosts: localhost
become: true
gather_facts: false
vars:
docker_compose_project_path: "/home/michael/dev/michaelschiemer"
env_file_path: "/var/www/michaelschiemer/.env"
deploy_root: /var/www/michaelschiemer
deploy_public: "{{ deploy_root }}/public"
deploy_user: deploy
app_domain: "localhost" # Passe ggf. an
project_root: "/home/michael/dev/michaelschiemer"
roles:
#- app
- nginx
- php
- redis
tasks:
- name: Common Deployment Tasks
import_tasks: ../deploy/includes/deploy_common.yml

View File

@@ -0,0 +1,29 @@
- name: Docker Compose Files & Konfigurationen synchronisieren
ansible.builtin.copy:
src: "{{ item.src }}"
dest: "{{ docker_compose_project_path }}/{{ item.dest }}"
owner: root
group: root
mode: 0644
loop:
- { src: '{{ project_root }}/docker-compose.yml', dest: 'docker-compose.yml' }
- { src: '{{ project_root }}/.env', dest: '.env' }
# Weitere Konfigdateien nach Bedarf (z.B. nginx.conf, redis.conf, ...)
- { src: '{{ project_root }}/docker/nginx/nginx.conf', dest: 'nginx.conf' }
- name: "Docker Compose: Container hochfahren (Build & Start)"
ansible.builtin.command: |
docker-compose -f {{ docker_compose_project_path }}/docker-compose.yml up -d --build
args:
chdir: "{{ docker_compose_project_path }}"
- name: Status prüfen
ansible.builtin.command: |
docker-compose -f {{ docker_compose_project_path }}/docker-compose.yml ps
args:
chdir: "{{ docker_compose_project_path }}"
register: compose_ps
- name: Ergebnis anzeigen
ansible.builtin.debug:
var: compose_ps.stdout_lines

View File

@@ -0,0 +1,23 @@
- name: Deployment für PRODUCTION
hosts: production
become: true
gather_facts: false
vars:
docker_compose_project_path: "/var/www/www.michaelschiemer.de/"
env_file_path: "/var/www/www.michaelschiemer.de/.env"
deploy_root: /var/www/www.michaelschiemer.de
deploy_public: "{{ deploy_root }}/public"
deploy_user: deploy
app_domain: "michaelschiemer.de"
project_root: "{{ playbook_dir }}/../.."
roles:
- app
- nginx
- php
- redis
tasks:
- name: Common Deployment Tasks
import_tasks: ../deploy/includes/deploy_common.yml

View File

@@ -0,0 +1,23 @@
- name: Deployment für STAGING
hosts: staging
become: true
gather_facts: false
vars:
docker_compose_project_path: "/var/www/stage.michaelschiemer/"
env_file_path: "/var/www/stage.michaelschiemer/.env"
deploy_root: /var/www/stage.michaelschiemer
deploy_public: "{{ deploy_root }}/public"
deploy_user: deploy
app_domain: "stage.example.com"
project_root: "{{ playbook_dir }}/../.."
roles:
- app
- nginx
- php
- redis
tasks:
- name: Common Deployment Tasks
import_tasks: ../deploy/includes/deploy_common.yml

View File

@@ -0,0 +1,11 @@
---
- name: Basis Setup für alle Zielsysteme
hosts: all
become: true
#gather_facts: true
roles:
#- common
- docker
#- webserver
#- app

View File

@@ -0,0 +1,6 @@
- hosts: web
become: true
gather_facts: true
roles:
- console

View File

@@ -0,0 +1,7 @@
# ansible/wireguard.yml
- hosts: vpn
become: false
gather_facts: false
roles:
- wireguard