63 lines
1.5 KiB
Markdown
63 lines
1.5 KiB
Markdown
|
# ansible-roles-nginx
|
||
|
|
||
|
This role is designed to provide a reverse proxy in conjuction with another role based deployment such as a metrics stack
|
||
|
|
||
|
- https://nginx.org/
|
||
|
|
||
|
|
||
|
## Task Configuration
|
||
|
|
||
|
```
|
||
|
- name: Setup nginx
|
||
|
hosts: somehost
|
||
|
become: true
|
||
|
roles:
|
||
|
- role: nginx
|
||
|
nginx_sites:
|
||
|
- name: lmer2-frontend
|
||
|
url: lmer2.20c.com
|
||
|
upstream: http://localhost:8001
|
||
|
ssl: false
|
||
|
- role: firewalld
|
||
|
firewalld_services:
|
||
|
- http
|
||
|
- https
|
||
|
firewalld_ports:
|
||
|
- 8100/tcp # dashboard insecure mode
|
||
|
firewalld_forwards:
|
||
|
- port: 80
|
||
|
to: 8080
|
||
|
- port: 443
|
||
|
to: 8443
|
||
|
```
|
||
|
|
||
|
`ssl` can have a few different meaningful values
|
||
|
- undfefined will skip ssl entirely including its inclusion in the templates
|
||
|
- true, lets encrypt will request a cert
|
||
|
- false, lets encrypt will not request a cert but the template will assume a cert exists
|
||
|
|
||
|
`ssl_barrow` can be set to the url of an existing cert to piggy back on another existing cert
|
||
|
|
||
|
|
||
|
## Deployment and Removal
|
||
|
|
||
|
|
||
|
Sometimes you need to manually stop the running containers to get a clean run when re-deploying
|
||
|
Services must be stopped as the respecitve user or another means to aquire the correct user scope for systemd
|
||
|
|
||
|
```
|
||
|
systemctl --user stop container-nginx.service
|
||
|
```
|
||
|
|
||
|
Deploy
|
||
|
|
||
|
```
|
||
|
ansible-playbook -i hosts site.yml --tags=firewalld,nginx --limit=somehost
|
||
|
```
|
||
|
|
||
|
Remove
|
||
|
|
||
|
```
|
||
|
ansible-playbook -i hosts site.yml --tags=firewalld,nginx --extra-vars "container_state=absent firewall_action=remove" --limit=somehost
|
||
|
```
|