Include letsencrypt setup & add woodpecker nginx config
This commit is contained in:
parent
b5db9c3daf
commit
c9a68c6a3f
7 changed files with 88 additions and 1 deletions
|
|
@ -33,3 +33,10 @@
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: true
|
enabled: true
|
||||||
scope: user
|
scope: user
|
||||||
|
|
||||||
|
- name: restart certbot
|
||||||
|
become: true
|
||||||
|
systemd:
|
||||||
|
name: certbot
|
||||||
|
state: restarted
|
||||||
|
enabled: false
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
loop:
|
loop:
|
||||||
- { src: 'templates/nginx/default.j2', dest: '/etc/nginx/sites-available/default' }
|
- { src: 'templates/nginx/default.j2', dest: '/etc/nginx/sites-available/default' }
|
||||||
- { src: 'templates/nginx/forgejo.j2', dest: '/etc/nginx/sites-available/forgejo' }
|
- { src: 'templates/nginx/forgejo.j2', dest: '/etc/nginx/sites-available/forgejo' }
|
||||||
|
- { src: 'templates/nginx/woodpecker.j2', dest: '/etc/nginx/sites-available/woodpecker' }
|
||||||
- { src: 'templates/nginx/sentry.j2', dest: '/etc/nginx/sites-available/sentry' }
|
- { src: 'templates/nginx/sentry.j2', dest: '/etc/nginx/sites-available/sentry' }
|
||||||
- { src: 'templates/nginx/vpn.j2', dest: '/etc/nginx/sites-available/vpn' }
|
- { src: 'templates/nginx/vpn.j2', dest: '/etc/nginx/sites-available/vpn' }
|
||||||
- {
|
- {
|
||||||
|
|
@ -32,6 +33,10 @@
|
||||||
src: '/etc/nginx/sites-available/forgejo',
|
src: '/etc/nginx/sites-available/forgejo',
|
||||||
dest: '/etc/nginx/sites-enabled/forgejo',
|
dest: '/etc/nginx/sites-enabled/forgejo',
|
||||||
}
|
}
|
||||||
|
- {
|
||||||
|
src: '/etc/nginx/sites-available/woodpecker',
|
||||||
|
dest: '/etc/nginx/sites-enabled/woodpecker',
|
||||||
|
}
|
||||||
- {
|
- {
|
||||||
src: '/etc/nginx/sites-available/sentry',
|
src: '/etc/nginx/sites-available/sentry',
|
||||||
dest: '/etc/nginx/sites-enabled/sentry',
|
dest: '/etc/nginx/sites-enabled/sentry',
|
||||||
|
|
@ -43,4 +48,33 @@
|
||||||
}
|
}
|
||||||
notify: restart nginx
|
notify: restart nginx
|
||||||
|
|
||||||
# TODO: provision certbot configuration
|
|
||||||
|
# Run the folowing command to regenerate a certificate:
|
||||||
|
#
|
||||||
|
# sudo certbot certonly \
|
||||||
|
# --authenticator standalone \
|
||||||
|
# --pre-hook 'systemctl stop nginx' \
|
||||||
|
# --post-hook 'systemctl start nginx' \
|
||||||
|
# --cert-name fudiggity.nl \
|
||||||
|
# -d fudiggity.nl \
|
||||||
|
# -d rss.fudiggity.nl \
|
||||||
|
# -d .....
|
||||||
|
#
|
||||||
|
# This will also save its configuration.
|
||||||
|
#
|
||||||
|
- name: copy letsencrypt configuration
|
||||||
|
become: true
|
||||||
|
template:
|
||||||
|
src: 'templates/letsencrypt/cli.j2'
|
||||||
|
dest: '/etc/letsencrypt/cli.ini'
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
notify: restart certbot
|
||||||
|
|
||||||
|
- name: enable certbot periodic certificate renewal
|
||||||
|
become: true
|
||||||
|
systemd:
|
||||||
|
name: certbot.timer
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
|
||||||
12
templates/letsencrypt/cli.j2
Normal file
12
templates/letsencrypt/cli.j2
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
#
|
||||||
|
# Because we are using logrotate for greater flexibility, disable the
|
||||||
|
# internal certbot logrotation.
|
||||||
|
max-log-backups = 0
|
||||||
|
|
||||||
|
# Adjust interactive output regarding automated renewal
|
||||||
|
preconfigured-renewal = True
|
||||||
|
|
||||||
|
authenticator = standalone
|
||||||
|
pre-hook = /bin/systemctl stop nginx
|
||||||
|
post-hook = /bin/systemctl start nginx
|
||||||
29
templates/nginx/woodpecker.j2
Normal file
29
templates/nginx/woodpecker.j2
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen {{ https_port }} ssl;
|
||||||
|
server_name {{ woodpecker_domain }};
|
||||||
|
|
||||||
|
include snippets/certificates.conf;
|
||||||
|
include snippets/ssl-params.conf;
|
||||||
|
|
||||||
|
access_log /var/log/nginx/woodpecker.log;
|
||||||
|
error_log /var/log/nginx/woodpecker.log;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
gzip off;
|
||||||
|
|
||||||
|
proxy_read_timeout 90;
|
||||||
|
proxy_connect_timeout 90;
|
||||||
|
proxy_redirect off;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Ssl on;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||||
|
|
||||||
|
proxy_pass http://{{ woodpecker_ip }}:{{ woodpecker_port }};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -9,3 +9,4 @@ packages:
|
||||||
- ca-certificates
|
- ca-certificates
|
||||||
- gnupg
|
- gnupg
|
||||||
- radeontop
|
- radeontop
|
||||||
|
- certbot
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,9 @@ forgejo_ip: '127.0.0.1'
|
||||||
forgejo_port: '3000'
|
forgejo_port: '3000'
|
||||||
forgejo_ssh_port: '22'
|
forgejo_ssh_port: '22'
|
||||||
|
|
||||||
|
woodpecker_ip: '127.0.0.1'
|
||||||
|
woodpecker_port: '8000'
|
||||||
|
|
||||||
newsreader_ip: '127.0.0.1'
|
newsreader_ip: '127.0.0.1'
|
||||||
newsreader_port: '5000'
|
newsreader_port: '5000'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
domain_name: 'fudiggity.nl'
|
domain_name: 'fudiggity.nl'
|
||||||
forgejo_domain: 'forgejo.fudiggity.nl'
|
forgejo_domain: 'forgejo.fudiggity.nl'
|
||||||
|
woodpecker_domain: 'woodpekcer.fudiggity.nl'
|
||||||
sentry_domain: 'sentry.fudiggity.nl'
|
sentry_domain: 'sentry.fudiggity.nl'
|
||||||
newsreader_domain: 'rss.fudiggity.nl'
|
newsreader_domain: 'rss.fudiggity.nl'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue