diff --git a/playbook.yaml b/ansible/playbooks/playbook.yaml similarity index 100% rename from playbook.yaml rename to ansible/playbooks/playbook.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml index 2dbb786..2a96dff 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,27 +1,14 @@ version: '3.8' - services: - wordpress: - image: wordpress:latest + snake: + build: . ports: - - "1337:80" - environment: - WORDPRESS_DB_HOST: db - WORDPRESS_DB_USER: wordpress - WORDPRESS_DB_PASSWORD: wordpress - WORDPRESS_DB_NAME: wordpress - depends_on: - - db - volumes: - - ./wordpress_data:/data + - "8080:80" # Snake game + - "81:81" # Nginx metrics + networks: + - snake_net + restart: unless-stopped - db: - image: mysql:latest - restart: always - environment: - MYSQL_DATABASE: wordpress - MYSQL_USER: wordpress - MYSQL_PASSWORD: wordpress - MYSQL_ROOT_PASSWORD: rootpassword - volumes: - - ./db_data:/var/lib/mysql +networks: + snake_net: + driver: bridge diff --git a/files/wp-nginx-alpine.tar b/files/wp-nginx-alpine.tar deleted file mode 100644 index 13080db..0000000 Binary files a/files/wp-nginx-alpine.tar and /dev/null differ diff --git a/fonts/.gitignore b/fonts/.gitignore deleted file mode 100644 index f871837..0000000 --- a/fonts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Ignore fontconfig .uuid files -.uuid -.DS_Store diff --git a/fonts/README.rst b/fonts/README.rst deleted file mode 100644 index 9d2b707..0000000 --- a/fonts/README.rst +++ /dev/null @@ -1,98 +0,0 @@ -Powerline fonts -=============== - -This repository contains pre-patched and adjusted fonts for usage with -the `Powerline `_ statusline plugin. - -Installation ------------- - -Run ``./install.sh`` to install all Powerline Fonts or see the documentation_ for details. - -.. _documentation: https://powerline.readthedocs.org/en/latest/installation/linux.html#fonts-installation - -Quick installation ------------------- - -If you are running a Debian or Ubuntu based Linux distribution, there should -be a package available to install the Powerline Fonts with the following command: -:: - sudo apt-get install fonts-powerline - -For fedora (tested on 28) or redhat based Linux distribution, there should also be a package available to install with the following command: -:: - sudo dnf install powerline-fonts - -On other environments, you can copy and paste these commands to your terminal. Comments are fine too. -:: - # clone - git clone https://github.com/powerline/fonts.git --depth=1 - # install - cd fonts - ./install.sh - # clean-up a bit - cd .. - rm -rf fonts - -Uninstall ---------- - -Run ``./uninstall.sh`` to uninstall all Powerline Fonts. You can also copy -the quick installation commands changing only the line ``./install.sh`` to -``./uninstall.sh``. - -In both cases, please make sure you are working with the exact same version -of Powerline fonts you had checked out while installing. - -Font Families -------------- - -======================================= ========================= ==================================== - Powerline Font Family Formerly Known As License -======================================= ========================= ==================================== - 3270 3270 BSD/CCAS 3.0 - Anonymice Powerline Anonymous Pro SIL Open Font License, Version 1.1 - Arimo Powerline Arimo Apache License, Version 2.0 - Cousine Powerline Cousine Apache License, Version 2.0 - CPMono_v07 CPMono_v07 Attribution 3.0 Germany (CC BY 3.0 DE) - D2Coding for Powerline D2Coding SIL Open Font License, Version 1.1 - DejaVu Sans Mono for Powerline DejaVu Sans Mono DejaVu Fonts License, Version 1.0 - Droid Sans Mono for Powerline Droid Sans Mono Apache License, Version 2.0 - Droid Sans Mono Dotted for Powerline Droid Sans Mono Dotted Apache License, Version 2.0 - Droid Sans Mono Slashed for Powerline Droid Sans Mono Slashed Apache License, Version 2.0 - Fira Mono for Powerline Fira Mono SIL OPEN FONT LICENSE Version 1.1 - Go Mono for Powerline Go Mono Go's License - Hack Hack SIL OFL, v1.1 + Bitstream License - Inconsolata for Powerline Inconsolata SIL Open Font License, Version 1.0 - Inconsolata-dz for Powerline Inconsolata-dz SIL Open Font License, Version 1.0 - Inconsolata-g for Powerline Inconsolata-g SIL Open Font License, Version 1.0 - Input Mono Input Mono `Input’s license `_ - Liberation Mono Powerline Liberation Mono SIL Open Font License, Version 1.1 - ProFontWindows ProFont for Powerline MIT License - Meslo for Powerline Meslo Apache License, Version 2.0 - Source Code Pro for Powerline Source Code Pro SIL Open Font License, Version 1.1 - Meslo Dotted for Powerline Meslo Dotted Apache License, Version 2.0 - Meslo Slashed for Powerline Meslo Dotted Apache License, Version 2.0 - Monofur for Powerline Monofur Freeware - Noto Mono for Powerline Noto Mono SIL Open Font License, Version 1.1 - Roboto Mono for Powerline Roboto Mono Apache License, Version 2.0 - Symbol Neu Powerline Symbol Neu Apache License, Version 2.0 - Terminess Powerline Terminus SIL Open Font License, Version 1.1 - Tinos Powerline Tinos Apache License, Version 2.0 - Ubuntu Mono derivative Powerline Ubuntu Mono Ubuntu Font License, Version 1.0 - Space Mono for Powerline Space Mono SIL Open Font License, Version 1.1 -======================================= ========================= ==================================== - -iTerm2 users need to set both the Regular font and the Non-ASCII Font in -"iTerm > Preferences > Profiles > Text" to use a patched font (per `this issue`__). - -__ https://github.com/Lokaltog/powerline-fonts/issues/44 - -Fontconfig ----------- - -In some distributions, Terminess Powerline is ignored by default and must be -explicitly allowed. A fontconfig file is provided which enables it. Copy `this -file `_ -from the fontconfig directory to your home folder under ``~/.config/fontconfig/conf.d`` -(create it if it doesn't exist) and re-run ``fc-cache -vf``. diff --git a/fonts/install.ps1 b/fonts/install.ps1 deleted file mode 100644 index b16cfa9..0000000 --- a/fonts/install.ps1 +++ /dev/null @@ -1,41 +0,0 @@ -<# -.SYNOPSIS - Installs the provided fonts. -.DESCRIPTION - Installs all the provided fonts by default. The FontName - parameter can be used to pick a subset of fonts to install. -.EXAMPLE - C:\PS> ./install.ps1 - Installs all the fonts located in the Git repository. -.EXAMPLE - C:\PS> ./install.ps1 furamono-, hack-* - Installs all the FuraMono and Hack fonts. -.EXAMPLE - C:\PS> ./install.ps1 d* -WhatIf - Shows which fonts would be installed without actually installing the fonts. - Remove the "-WhatIf" to install the fonts. -#> -[CmdletBinding(SupportsShouldProcess)] -param( - # Specifies the font name to install. Default value will install all fonts. - [Parameter(Position=0)] - [string[]] - $FontName = '*' -) - -$fontFiles = New-Object 'System.Collections.Generic.List[System.IO.FileInfo]' -foreach ($aFontName in $FontName) { - Get-ChildItem $PSScriptRoot -Filter "${aFontName}.ttf" -Recurse | Foreach-Object {$fontFiles.Add($_)} - Get-ChildItem $PSScriptRoot -Filter "${aFontName}.otf" -Recurse | Foreach-Object {$fontFiles.Add($_)} -} - -$fonts = $null -foreach ($fontFile in $fontFiles) { - if ($PSCmdlet.ShouldProcess($fontFile.Name, "Install Font")) { - if (!$fonts) { - $shellApp = New-Object -ComObject shell.application - $fonts = $shellApp.NameSpace(0x14) - } - $fonts.CopyHere($fontFile.FullName) - } -} diff --git a/fonts/install.sh b/fonts/install.sh deleted file mode 100644 index eab1ccd..0000000 --- a/fonts/install.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -# Set source and target directories -powerline_fonts_dir="$( cd "$( dirname "$0" )" && pwd )" - -# if an argument is given it is used to select which fonts to install -prefix="$1" - -if test "$(uname)" = "Darwin" ; then - # MacOS - font_dir="$HOME/Library/Fonts" -else - # Linux - font_dir="$HOME/.local/share/fonts" - mkdir -p $font_dir -fi - -# Copy all fonts to user fonts directory -echo "Copying fonts..." -find "$powerline_fonts_dir" \( -name "$prefix*.[ot]tf" -or -name "$prefix*.pcf.gz" \) -type f -print0 | xargs -0 -n1 -I % cp "%" "$font_dir/" - -# Reset font cache on Linux -if which fc-cache >/dev/null 2>&1 ; then - echo "Resetting font cache, this may take a moment..." - fc-cache -f "$font_dir" -fi - -echo "Powerline fonts installed to $font_dir" diff --git a/fonts/uninstall.sh b/fonts/uninstall.sh deleted file mode 100644 index 36f17e9..0000000 --- a/fonts/uninstall.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -# Set source and target directories -powerline_fonts_dir="$( cd "$( dirname "$0" )" && pwd )" - -# if an argument is given it is used to select which fonts to uninstall -prefix="$1" - -if test "$(uname)" = "Darwin" ; then - # MacOS - font_dir="$HOME/Library/Fonts" -else - # Linux - font_dir="$HOME/.local/share/fonts" - if test ! -d "$font_dir" ; then - echo "It seems there are no powerline fonts installed on your system. Uninstall not needed." - exit 0 - fi -fi - -# Remove all fonts from user fonts directory -echo "Removing fonts..." -find "$powerline_fonts_dir" \( -name "$prefix*.[ot]tf" -or -name "$prefix*.pcf.gz" \) -type f -print0 | xargs -n1 -0 -I % sh -c "rm -f \"\$0/\${1##*/}\"" "$font_dir" % - -# Reset font cache on Linux -if which fc-cache >/dev/null 2>&1 ; then - echo "Resetting font cache, this may take a moment..." - fc-cache -f "$font_dir" -fi - -echo "Powerline fonts uninstalled from $font_dir" diff --git a/monitoring/dashboards.yaml b/monitoring/dashboards.yaml new file mode 100644 index 0000000..e69de29 diff --git a/monitoring/datasources.yaml b/monitoring/datasources.yaml new file mode 100644 index 0000000..e69de29 diff --git a/monitoring/docker-compose.yaml b/monitoring/docker-compose.yaml new file mode 100644 index 0000000..1c34462 --- /dev/null +++ b/monitoring/docker-compose.yaml @@ -0,0 +1,42 @@ +version: '3.8' +services: + prometheus: + image: prom/prometheus:latest + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro + - prometheus_data:/prometheus + ports: + - "9090:9090" + networks: + - webnet + restart: unless-stopped + + grafana: + image: grafana/grafana:9.0.0 + user: "472" + volumes: + - grafana_data:/var/lib/grafana + - ./grafana/provisioning:/etc/grafana/provisioning:ro + environment: + GF_SECURITY_ADMIN_PASSWORD: "admin" + ports: + - "3000:3000" + networks: + - webnet + restart: unless-stopped + + nginx_exporter: + image: nginx/nginx-prometheus-exporter:0.9.0 + environment: + SCRAPE_URI: http://snake:80/nginx_status + networks: + - webnet + restart: unless-stopped + +volumes: + prometheus_data: + grafana_data: + +networks: + webnet: + external: true diff --git a/monitoring/prometheus.yaml b/monitoring/prometheus.yaml new file mode 100644 index 0000000..e69de29 diff --git a/Dockerfile b/snake/Dockerfile similarity index 100% rename from Dockerfile rename to snake/Dockerfile diff --git a/snake/index.html b/snake/index.html new file mode 100644 index 0000000..c09cb84 --- /dev/null +++ b/snake/index.html @@ -0,0 +1,43 @@ + + + + + Snake Game + + + + + + + diff --git a/nginx.conf b/snake/nginx.conf similarity index 100% rename from nginx.conf rename to snake/nginx.conf diff --git a/start.sh b/start.sh deleted file mode 100644 index 6035b7f..0000000 --- a/start.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -set -e - -# Download WordPress files if missing -if [ ! -f /data/index.php ]; then - echo "[INFO] WordPress core files fehlen, lade sie herunter..." - curl -o /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz - tar -xzf /tmp/wordpress.tar.gz -C /tmp - cp -r /tmp/wordpress/* /data/ - rm -rf /tmp/wordpress /tmp/wordpress.tar.gz - chown -R 101:101 /data -fi - -# Generiere wp-config.php if missing -if [ ! -f /data/wp-config.php ]; then - echo "[INFO] wp-config.php wird generiert" - cat > /data/wp-config.php <