deploy: Add dyndns service
This commit is contained in:
parent
10b4f62b6a
commit
2d3756eb4e
8 changed files with 82 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
|||
*_secret.txt
|
||||
*_apikey.txt
|
||||
playbook.retry
|
||||
credentials.ini
|
||||
|
|
|
|||
3
credentials.ini.example
Normal file
3
credentials.ini.example
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[inwx]
|
||||
user=...
|
||||
pass=...
|
||||
|
|
@ -6,3 +6,6 @@ all:
|
|||
ansible_ssh_identity_file: ~/.ssh/id_ed25519
|
||||
ansible_user: root
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
localhost:
|
||||
ansible_connection: local
|
||||
ansible_python_interpreter: "{{ansible_playbook_python}}"
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ COMMIT
|
|||
-A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
|
||||
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
|
||||
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
|
||||
-A INPUT -p udp --dport 53 -j ACCEPT
|
||||
-A INPUT -j REJECT --reject-with icmp-host-prohibited
|
||||
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
|
||||
COMMIT
|
||||
|
|
|
|||
1
library/inwx-collection
Submodule
1
library/inwx-collection
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 0ac040da14cc9d834098addc03cd8d4d26647df0
|
||||
38
nginx.conf
38
nginx.conf
|
|
@ -370,5 +370,43 @@ http {
|
|||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
server_name dyndns.jaseg.de;
|
||||
root /usr/share/nginx/html;
|
||||
|
||||
ssl_certificate "/etc/letsencrypt/live/dyndns.jaseg.de/fullchain.pem";
|
||||
ssl_certificate_key "/etc/letsencrypt/live/dyndns.jaseg.de/privkey.pem";
|
||||
ssl_dhparam "/etc/letsencrypt/ssl-dhparams.pem";
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf;
|
||||
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
|
||||
resolver 67.207.67.2 67.207.67.3 valid=300s;
|
||||
resolver_timeout 10s;
|
||||
|
||||
add_header Strict-Transport-Security "max-age=86400";
|
||||
|
||||
# Load configuration files for the default server block.
|
||||
include /etc/nginx/default.d/*.conf;
|
||||
|
||||
location / {
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:/run/uwsgi/dyndns.socket;
|
||||
}
|
||||
|
||||
error_page 404 /404.html;
|
||||
location = /40x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
36
playbook.yml
36
playbook.yml
|
|
@ -1,4 +1,34 @@
|
|||
- name: Gerbolyze container setup playbook
|
||||
- name: DNS setup
|
||||
hosts: localhost
|
||||
module_defaults:
|
||||
inwx:
|
||||
username: "{{lookup('ini', 'user section=inwx file=credentials.ini')}}"
|
||||
password: "{{lookup('ini', 'pass section=inwx file=credentials.ini')}}"
|
||||
vars:
|
||||
subdomains:
|
||||
- git.jaseg.net
|
||||
- blog.jaseg.net
|
||||
- kochbuch.jaseg.net
|
||||
- gerbolyze.jaseg.net
|
||||
- tracespace.jaseg.net
|
||||
- openjscad.jaseg.net
|
||||
- pogojig.jaseg.net
|
||||
- automation.jaseg.de
|
||||
- dyndns.jaseg.de
|
||||
fastmail_domains:
|
||||
- jaseg.net
|
||||
- jaseg.de
|
||||
tasks:
|
||||
- name: Gather wendelstein facts
|
||||
setup:
|
||||
delegate_to: wendelstein
|
||||
delegate_facts: True
|
||||
|
||||
- name: Setup DNS
|
||||
include_tasks: dns.yml
|
||||
|
||||
|
||||
- name: Wendelstein setup
|
||||
hosts: wendelstein
|
||||
tasks:
|
||||
- name: Set hostname
|
||||
|
|
@ -12,7 +42,7 @@
|
|||
|
||||
- name: Install host requisites
|
||||
dnf:
|
||||
name: nginx,uwsgi,python3-flask,python3-flask-wtf,uwsgi-plugin-python3,certbot,python3-certbot-nginx,libselinux-python,git,iptables-services,python3-pycryptodomex,zip,python3-uwsgidecorators
|
||||
name: nginx,uwsgi,python3-flask,python3-flask-wtf,uwsgi-plugin-python3,certbot,python3-certbot-nginx,libselinux-python,git,iptables-services,python3-pycryptodomex,zip,python3-uwsgidecorators,nsd
|
||||
state: latest
|
||||
|
||||
- name: Disable password-based root login
|
||||
|
|
@ -77,3 +107,5 @@
|
|||
- name: Setup semi-public git server
|
||||
include_tasks: setup_git.yml
|
||||
|
||||
- name: Setup private DynDNS service
|
||||
include_tasks: setup_dyndns.yml
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@
|
|||
- openjscad.jaseg.net
|
||||
- pogojig.jaseg.net
|
||||
- automation.jaseg.de
|
||||
- dyndns.jaseg.de
|
||||
|
||||
- name: Copy final nginx config
|
||||
copy:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue