diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..0ffcf3a Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index 7422ee6..8b3d99c 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,7 @@ backrest/backup/ backrest/repos/ semaphore/semaphore_config/config.json semaphore/semaphore_data/database.boltdb +mosquitto/data/ +mosquitto/log/ +mosquitto/config/ +postgres17/postgres/ diff --git a/gatus/compose.yml b/gatus/compose.yml new file mode 100644 index 0000000..2c824a4 --- /dev/null +++ b/gatus/compose.yml @@ -0,0 +1,21 @@ +# https://github.com/TwiN/gatus/blob/master/.examples/docker-compose/docker-compose.yml + +# + +name: gatus + +services: + gatus: + image: twinproduction/gatus:latest + container_name: gatus + ports: + - 8080:8080 + volumes: + - ./config:/config + networks: + - proxy + +networks: + proxy: + external: true + \ No newline at end of file diff --git a/gatus/config/config.yaml b/gatus/config/config.yaml new file mode 100644 index 0000000..82d2afb --- /dev/null +++ b/gatus/config/config.yaml @@ -0,0 +1,40 @@ + + +ui: + default-sort-by: group + +connectivity: + checker: + target: 1.1.1.1:53 + interval: 60s + +endpoints: + - name: website # Name of your endpoint, can be anything + group: Test + url: "https://twin.sh/health" + interval: 5m # Duration to wait between every status check (default: 60s) + conditions: + - "[STATUS] == 200" # Status must be 200 + - "[BODY].status == UP" # The json path "$.status" must be equal to UP + - "[RESPONSE_TIME] < 300" # Response time must be under 300ms + alerts: + - type: telegram + + - name: make-sure-header-is-rendered + group: Test + url: "https://example.org/" + interval: 60s + conditions: + - "[STATUS] == 200" # Status must be 200 + - "[BODY] == pat(*

Example Domain

*)" # Body must contain the specified header + alerts: + - type: telegram + + - name: Guacamole + group: Local + url: "http://host.docker.internal:80" + conditions: + - "[STATUS] == 200" + alerts: + - type: telegram + diff --git a/mariadb/.DS_Store b/mariadb/.DS_Store new file mode 100644 index 0000000..4c5c7e8 Binary files /dev/null and b/mariadb/.DS_Store differ diff --git a/mariadb/compose.yml b/mariadb/compose.yml index 5721520..1b5e58d 100644 --- a/mariadb/compose.yml +++ b/mariadb/compose.yml @@ -9,11 +9,9 @@ services: container_name: mariadb restart: always ports: - - 3306:3306 + - 127.0.0.1:3306:3306 environment: - MARIADB_ROOT_PASSWORD: example - MARIADB_USER: example-user - MARIADB_PASSWORD: my_cool_secret + MARIADB_ROOT_PASSWORD: administrator volumes: - ./mysql:/var/lib/mysql @@ -60,14 +58,14 @@ services: LABEL_con1: MariaDB SERVER_con1: mariadb USER_con1: root - PASSWORD_con1: example + PASSWORD_con1: administrator PORT_con1: 3306 ENGINE_con1: mysql@dbgate-plugin-mysql nocodb: container_name: nocodb # environment: - # NC_DB: "mysql://mariadb:3306?u=root&p=example" + # NC_DB: "mysql://mariadb:3306?u=root&p=administrator" image: "nocodb/nocodb:latest" ports: - "8070:8080" diff --git a/meshdash/compose.yml b/meshdash/compose.yml new file mode 100644 index 0000000..50a2414 --- /dev/null +++ b/meshdash/compose.yml @@ -0,0 +1,16 @@ +services: + meshdash: + image: rusjpmd/meshdash-runner:latest + container_name: meshdash + restart: always + network_mode: host + privileged: true + environment: + MD_SETUP_KEY: "YOUR_API_KEY_HERE" + MD_SETUP_URL: "https://meshdash.co.uk/user_setup_core.php" + volumes: + - /dev:/dev + - meshdash_data:/app/data + +volumes: + meshdash_data: diff --git a/moodle/.env b/moodle/.env new file mode 100644 index 0000000..cfb2ae4 --- /dev/null +++ b/moodle/.env @@ -0,0 +1,12 @@ +# Moodle application admin credentials +MOODLE_USERNAME=admin +MOODLE_PASSWORD=change_me_admin_password +MOODLE_EMAIL=admin@example.com + +# Database connection details +MOODLE_DATABASE_USER=moodle +MOODLE_DATABASE_PASSWORD=change_me_database_password +MOODLE_DATABASE_NAME=moodle + +# MariaDB root credentials +MARIADB_ROOT_PASSWORD=change_me_root_password diff --git a/mosquitto/compose.yml b/mosquitto/compose.yml new file mode 100644 index 0000000..21d10f7 --- /dev/null +++ b/mosquitto/compose.yml @@ -0,0 +1,11 @@ +services: + mosquitto: + image: eclipse-mosquitto:2 + container_name: mosquitto + restart: unless-stopped + ports: + - "1883:1883" + volumes: + - ./config/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro + - ./data:/mosquitto/data + - ./log:/mosquitto/log diff --git a/postgres17/compose.yml b/postgres17/compose.yml new file mode 100644 index 0000000..173cc89 --- /dev/null +++ b/postgres17/compose.yml @@ -0,0 +1,31 @@ +name: postgres + +services: + postgres: + container_name: postgres + image: postgres:17.6 + restart: unless-stopped + ports: + - 5432:5432 + environment: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + volumes: + - ./postgres:/var/lib/postgresql/data + + pgadmin: + container_name: pgadmin + image: dpage/pgadmin4:2025-09-02-1 + environment: + PGADMIN_DEFAULT_EMAIL: admin@pgadmin.com + PGADMIN_DEFAULT_PASSWORD: password + PGADMIN_LISTEN_PORT: 80 + ports: + - 15433:80 + volumes: + - pgadmin:/var/lib/pgadmin + depends_on: + - postgres + +volumes: + pgadmin: diff --git a/webstack-task/TASK.md b/webstack-task/TASK.md new file mode 100644 index 0000000..60412fa --- /dev/null +++ b/webstack-task/TASK.md @@ -0,0 +1,13 @@ +Es soll ein Webstack lokal mit Docker aufgesetzt werden. + +1. [nginx](https://hub.docker.com/_/nginx) +2. [PHP](https://hub.docker.com/_/php) +3. [sftp](https://hub.docker.com/r/atmoz/sftp) + +sftp um die Dateien zu übertragen und verwalten. nginx und PHP als Webserver. +Hoste eine einfache Testanwendung auf dem Server. +Verwende Docker Compose. + +Die Lehrperson soll mit deiner IP-Adresse darauf zugreifen können. + +Dokumentiere die Schritte hier kurz, und lade sie hoch. diff --git a/webstack-task/app/index.html b/webstack-task/app/index.html new file mode 100644 index 0000000..6cbc977 --- /dev/null +++ b/webstack-task/app/index.html @@ -0,0 +1,13 @@ + + + + + + Webstack Task + + +

Webstack Task

+

Wenn du das siehst, liefert Nginx aus.

+

PHP-Test öffnen

+ + diff --git a/webstack-task/app/index.php b/webstack-task/app/index.php new file mode 100644 index 0000000..5ccab94 --- /dev/null +++ b/webstack-task/app/index.php @@ -0,0 +1,9 @@ +