Compare commits
6 commits
a93a580afe
...
7a7fee21f7
Author | SHA1 | Date | |
---|---|---|---|
7a7fee21f7 | |||
22a3721029 | |||
c2993daeb6 | |||
7e590b390a | |||
5cb5396817 | |||
85673abb29 |
8 changed files with 206 additions and 42 deletions
|
@ -1,4 +1,3 @@
|
|||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param QUERY_STRING $query_string;
|
||||
fastcgi_param REQUEST_METHOD $request_method;
|
||||
fastcgi_param CONTENT_TYPE $content_type;
|
||||
|
@ -24,6 +23,3 @@ fastcgi_param SERVER_NAME $server_name;
|
|||
|
||||
# PHP only, required if PHP was built with --enable-force-cgi-redirect
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
|
||||
# This is the only thing that's different to the debian default.
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
gpio=$(gpiofind SCL1)
|
||||
|
||||
while gpiomon --num-events=1 --falling-edge $gpio 2&> /dev/null
|
||||
do
|
||||
systemctl stop rufbereitschafts-klingel
|
||||
done
|
16
bundles/rufbereitschaftsalarm/items.py
Normal file
16
bundles/rufbereitschaftsalarm/items.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
files = {
|
||||
'/opt/rufbereitschaftsalarm': {
|
||||
'mode': '550',
|
||||
},
|
||||
}
|
||||
|
||||
svc_systemd = {
|
||||
'rufbereitschaftsalarm.service': {
|
||||
'enabled': False,
|
||||
'running': False,
|
||||
'needs': [
|
||||
'pkg_apt:gpiod',
|
||||
'file:/opt/rufbereitschaftsalarm',
|
||||
],
|
||||
}
|
||||
}
|
42
bundles/rufbereitschaftsalarm/metadata.py
Normal file
42
bundles/rufbereitschaftsalarm/metadata.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
defaults = {
|
||||
'apt': {
|
||||
'packages': {
|
||||
'gpiod': {},
|
||||
},
|
||||
},
|
||||
'flask': {
|
||||
|
||||
},
|
||||
'systemd': {
|
||||
'units': {
|
||||
'rufbereitschaftsalarm-sound.service': {
|
||||
'Unit': {
|
||||
'Description': 'rufbereitschaftsalarm sound effect',
|
||||
'After': 'network.target',
|
||||
},
|
||||
'Service': {
|
||||
'ExecStart': '/opt/rufbereitschaftsalarm-sound',
|
||||
},
|
||||
'Install': {
|
||||
'WantedBy': {
|
||||
'multi-user.target'
|
||||
},
|
||||
},
|
||||
},
|
||||
'rufbereitschaftsalarm-stop.service': {
|
||||
'Unit': {
|
||||
'Description': 'rufbereitschaftsalarm stop button',
|
||||
'After': 'network.target',
|
||||
},
|
||||
'Service': {
|
||||
'ExecStart': '/opt/rufbereitschaftsalarm-stop',
|
||||
},
|
||||
'Install': {
|
||||
'WantedBy': {
|
||||
'multi-user.target'
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,41 +1,41 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=lSMJ
|
||||
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
|
||||
=J9CI
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
29
data/nginx/run_program.conf
Normal file
29
data/nginx/run_program.conf
Normal file
|
@ -0,0 +1,29 @@
|
|||
# https://www.nginx.com/resources/wiki/start/topics/examples/fcgiwrap/
|
||||
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
server_name ${server_name};
|
||||
|
||||
ssl_certificate /var/lib/dehydrated/certs/${server_name}/fullchain.pem;
|
||||
ssl_certificate_key /var/lib/dehydrated/certs/${server_name}/privkey.pem;
|
||||
|
||||
location / {
|
||||
# Disable gzip (it makes scripts feel slower since they have to complete
|
||||
# before getting gzipped)
|
||||
gzip off;
|
||||
|
||||
# Set the root to /usr/lib (inside this location this means that we are
|
||||
# giving access to the files under /usr/lib/cgi-bin)
|
||||
root /usr/lib;
|
||||
|
||||
# Fastcgi socket
|
||||
fastcgi_pass unix:/run/fcgiwrap.socket;
|
||||
|
||||
# Fastcgi parameters, include the standard ones
|
||||
include /etc/nginx/params/fastcgi;
|
||||
|
||||
# Adjust non standard parameters (SCRIPT_FILENAME)
|
||||
fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/hello.cgi;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
'dummy': True,
|
||||
'hostname': '10.0.0.17',
|
||||
'groups': [
|
||||
'autologin',
|
||||
|
|
72
nodes/home.rufbereitschaft.py
Normal file
72
nodes/home.rufbereitschaft.py
Normal file
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
'hostname': '10.0.0.190',
|
||||
'groups': [
|
||||
'autologin',
|
||||
'debian-12',
|
||||
'hardware',
|
||||
'home',
|
||||
'monitored',
|
||||
'webserver',
|
||||
],
|
||||
'bundles': [
|
||||
'wireguard',
|
||||
],
|
||||
'metadata': {
|
||||
'id': '4eb7ba69-37fa-4594-8d54-3ebfc4e7e5d6',
|
||||
'network': {
|
||||
'internal': {
|
||||
'interface': 'eth0',
|
||||
'ipv4': '10.0.0.190/24',
|
||||
'gateway4': '10.0.0.1',
|
||||
},
|
||||
},
|
||||
'apt': {
|
||||
'packages': {
|
||||
'alsa-utils': {},
|
||||
'espeak': {},
|
||||
'libnginx-mod-http-lua': {},
|
||||
},
|
||||
},
|
||||
'nginx': {
|
||||
'vhosts': {
|
||||
'rufbereitschaftsalarm.ckn.li': {
|
||||
'content': 'nginx/run_program.conf',
|
||||
'context': {
|
||||
'script': 'hello',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
'systemd': {
|
||||
'units': {
|
||||
"wireguard.network": {
|
||||
"Route#smedia": {
|
||||
"Destination": "10.200.128.1",
|
||||
"Gateway": "10.200.128.11"
|
||||
},
|
||||
},
|
||||
"wireguard.netdev": {
|
||||
"NetDev": {
|
||||
"Description": "WireGuard server",
|
||||
"Kind": "wireguard",
|
||||
"Name": "wg0"
|
||||
},
|
||||
"WireGuard": {
|
||||
"ListenPort": 51820,
|
||||
"PrivateKey": "encrypt$gAAAAABk6FEX92wQzlBIqxP6w5FQydlrDqOZeo1AZS9zaBE3QzujtBnB_cf6KlECzmoljr71dmRiFN5yvA8bzRIpcecvnufIji1XNg-i1UW1fq393XppRq0p9EtNBVzoXoyzZFEcjQRo"
|
||||
},
|
||||
"WireGuardPeer#rufbereitsschaftsalarm": {
|
||||
"AllowedIPs": "0.0.0.0/0",
|
||||
"Endpoint": "185.122.180.82:51820",
|
||||
"PersistentKeepalive": 30,
|
||||
"PresharedKey": "!decrypt:encrypt$gAAAAABk6FD0_39AzxKTTse3ukqs7VOcZ5mPsBsN09Y4FgITOEnbBVWZ-zDsaZi-woNbp4k10nrJtIrqz8a-FIFdNbQaTgulhRDKF6TFH4BhYlEB7d8NH5CU3kTTtqtjSWW9GPqAgb3z",
|
||||
"PublicKey": "gPKjFV8mAx5GZdfPmjThNolpSaXs285e7YznhaBlOwY="
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
'wireguard': {
|
||||
'my_ip': '10.200.128.11/24',
|
||||
},
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue