+ Reverse proxy with nginx for internally hosted services
This commit is contained in:
parent
a4f9020a7e
commit
b1dd1dfd7b
10
playbooks/alpha/nginx/disable-default.yml
Normal file
10
playbooks/alpha/nginx/disable-default.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
- hosts: alpha
|
||||
tasks:
|
||||
- name: Disable Default Nginx Site
|
||||
become: yes
|
||||
file:
|
||||
path: /etc/nginx/sites-enabled/default
|
||||
state: absent
|
||||
|
||||
|
46
playbooks/alpha/nginx/main.yml
Normal file
46
playbooks/alpha/nginx/main.yml
Normal file
@ -0,0 +1,46 @@
|
||||
# This playbook just installs nginx so that it is ready to configure
|
||||
# we don't bother with extra user accounts like with Beta because we
|
||||
# are only concerned with using nginx to serve fully containerized
|
||||
# applications. Not static files
|
||||
---
|
||||
- hosts: alpha
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Install Nginx
|
||||
apt:
|
||||
name: nginx
|
||||
update_cache: yes
|
||||
state: present
|
||||
|
||||
- name: Update Snap
|
||||
community.general.snap:
|
||||
name: core
|
||||
state: present
|
||||
|
||||
- name: Install Certbot
|
||||
community.general.snap:
|
||||
name: certbot
|
||||
classic: yes
|
||||
|
||||
- name: Push Searx Config
|
||||
copy:
|
||||
src: search.project-athens.xyz
|
||||
dest: /etc/nginx/sites-available
|
||||
|
||||
- name: Enable Site in Nginx
|
||||
file:
|
||||
src: /etc/nginx/sites-available/search.project-athens.xyz
|
||||
dest: /etc/nginx/sites-enabled/search.project-athens.xyz
|
||||
state: link
|
||||
|
||||
- name: Restart Nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: restarted
|
||||
|
||||
- name: Install Certificates for all sites on this host
|
||||
command: >
|
||||
certbot -n --nginx -m "{{CERT_EMAIL}}" --agree-tos
|
||||
--domains "{{item}}"
|
||||
loop:
|
||||
- search.project-athens.xyz
|
11
playbooks/alpha/nginx/search.project-athens.xyz
Normal file
11
playbooks/alpha/nginx/search.project-athens.xyz
Normal file
@ -0,0 +1,11 @@
|
||||
# This file contains a base configuration file for the projectathens
|
||||
# It is to be overwritten by certbot later on so adjusting this config
|
||||
# should not happen on the target server
|
||||
|
||||
server {
|
||||
server_name search.project-athens.xyz;
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8080;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user