Skip to content

Commit 21cc540

Browse files
committed
new hosting
1 parent 4b6ee84 commit 21cc540

File tree

30 files changed

+84
-1257
lines changed

30 files changed

+84
-1257
lines changed

LICENSE

-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,3 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1111
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1212
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1313
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14-
15-
When running this software, it may attempt to connect to the prgmr.com
16-
network. Hosting with prgmr.com is covered by an acceptable use policy
17-
(AUP): https://prgmr.com/aup.html

README.md

-13
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,3 @@ https://docs.ansible.com/ansible/latest/playbooks_reuse_roles.html
9191
To use this playbook, you'll need an account in the sysadm role
9292
along with an SSH key pair.
9393

94-
$ ssh-keygen
95-
<++> ~/.ssh/config
96-
Host lobsters.xen.prgmr.com
97-
IdentityAgent none
98-
IdentityFile ~/.ssh/id_rsa-lobste.rs
99-
IdentitiesOnly yes
100-
101-
Host lobsters.console.xen.prgmr.com
102-
IdentityAgent none
103-
IdentityFile ~/.ssh/id_rsa-lobste.rs
104-
IdentitiesOnly yes
105-
User lobsters
106-
<-->

Vagrantfile

-29
This file was deleted.

group_vars/prod.yml

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
#backup_host: lobsters-backup.xen.prgmr.com
2-
console_host: lobsters.xen.prgmr.com
3-
db_host: lobsters.xen.prgmr.com
4-
#dns_host:
5-
mx_host: lobsters.xen.prgmr.com
6-
smtp_host: lobsters.xen.prgmr.com
7-
www_host: lobsters.xen.prgmr.com
1+
db_host: web01
2+
mx_host: web01
3+
smtp_host: web01
4+
www_host: web01

inventories/prod.ini

+8-16
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,23 @@
22
env=production
33
ps1_fg=red
44

5-
[backup]
6-
#lobsters-backup.xen.prgmr.com
7-
8-
[console]
9-
lobsters.console.xen.prgmr.com
10-
115
[db]
12-
lobsters.xen.prgmr.com
13-
14-
[dns]
6+
web01
157

168
[mx]
17-
lobsters.xen.prgmr.com
9+
web01
1810

1911
[search]
20-
lobsters-search.xen.prgmr.com
12+
web01
2113

2214
[smtp]
23-
lobsters.xen.prgmr.com
15+
web01
2416

2517
[www]
26-
lobsters.xen.prgmr.com
18+
web01
2719

2820
[www_worker]
29-
lobsters.xen.prgmr.com
21+
web01
3022

31-
[mockturtle]
32-
mockturtle.xen.prgmr.com
23+
#[mockturtle]
24+
#mockturtle.xen.prgmr.com

inventories/test.ini

-29
This file was deleted.

prod.yml

+8-49
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,4 @@
11
---
2-
- name: mariadb
3-
tags: mariadb
4-
become: yes
5-
hosts: db
6-
roles:
7-
- { role: mariadb }
8-
9-
# - name: dns
10-
# tags: dns
11-
# become: yes
12-
# hosts: dns
13-
# roles:
14-
# - { role: dns }
15-
162
- name: lobsters
173
tags: lobsters
184
become: yes
@@ -41,51 +27,24 @@
4127
roles:
4228
- { role: postfix }
4329

44-
# - name: prgmr
45-
# tags: prgmr
46-
# become: yes
47-
# hosts: console
48-
# roles:
49-
# - { role: console }
50-
51-
# - name: rsync
52-
# tags: rsync
53-
# become: yes
54-
# hosts: backup
55-
# roles:
56-
# - { role: rsync,
57-
# # don't back up the test system.
58-
# when: "env == 'production'"
59-
# }
60-
61-
- name: search
62-
tags: search
63-
become: yes
64-
hosts: search
65-
roles:
66-
- { role: search,
67-
# search middleware not present on test.
68-
when: "env == 'production'"
69-
}
70-
71-
- name: mockturtle
72-
tags: mockturtle
73-
become: yes
74-
hosts: mockturtle
75-
roles:
76-
- { role: mockturtle }
30+
#- name: mockturtle
31+
# tags: mockturtle
32+
# become: yes
33+
# hosts: mockturtle
34+
# roles:
35+
# - { role: mockturtle }
7736

7837
- name: sysadm
7938
tags: sysadm
8039
become: yes
81-
hosts: all:!console
40+
hosts: all
8241
roles:
8342
- { role: sysadm }
8443

8544
- name: tarsnap
8645
tags: tarsnap
8746
become: true
88-
hosts: all:!console:!mockturtle
47+
hosts: all:!mockturtle
8948
roles:
9049
- { role: tarsnap,
9150
# don't back up the test system.

roles/nginx/files/_env/nginx/nginx.conf

-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ http {
5252
##
5353

5454
gzip on;
55-
# pre-prgmr: gzip_disable "MSIE [1-6]\.";
5655
gzip_disable "msie6";
5756

5857
# gzip_vary on;

roles/nginx/files/production/nginx/sites-available/lobste.rs

+29-29
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,44 @@ upstream lobsters_puma_server {
44

55
# lobste.rs http->https redirection
66
server {
7-
listen 71.19.148.33:80;
8-
listen [2605:2700:0:2:a800:ff:fe83:b1e7]:80;
9-
server_name lobste.rs;
7+
listen 80;
8+
listen [::]:80;
9+
server_name _;
1010
access_log /var/log/nginx/lobste.rs.access.log main;
1111
error_log /var/log/nginx/lobste.rs.error.log;
1212
rewrite ^/(.*)$ https://lobste.rs/$1 permanent;
1313
keepalive_timeout 0;
1414
}
1515

1616
# www.lobste.rs -> lobste.rs redirection
17-
server {
18-
listen 71.19.148.33:443 ssl;
19-
listen [2605:2700:0:2:a800:ff:fe83:b1e7]:443 ssl;
20-
server_name www.lobste.rs;
21-
access_log /var/log/nginx/lobste.rs.access.log main;
22-
error_log /var/log/nginx/lobste.rs.error.log;
23-
keepalive_timeout 0;
24-
server_tokens off;
25-
26-
ssl on;
27-
ssl_certificate /etc/letsencrypt/live/lobste.rs/fullchain.pem;
28-
ssl_certificate_key /etc/letsencrypt/live/lobste.rs/privkey.pem;
29-
ssl_protocols TLSv1.2;
30-
ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;
31-
ssl_prefer_server_ciphers on;
32-
ssl_dhparam /etc/ssl/dhparams-2048.pem;
33-
ssl_stapling on;
34-
35-
rewrite ^/(.*)$ https://lobste.rs/$1 permanent;
36-
# needs libnginx-mod-http-headers-more-filter available in zesty.
37-
#more_set_headers 'X-Frame-Options: DENY' 'Strict-Transport-Security: max-age=15552000; includeSubDomains; preload';
38-
}
17+
#server {
18+
# #listen 443 ssl http2 default_server;
19+
# #listen [::]:443 ssl http2 default_server;
20+
# listen 67.205.128.5 http2 default_server;
21+
# listen [2604:a880:400:d0::1dc9:f001]:443 http2 default_server;
22+
# server_name www.lobste.rs;
23+
# access_log /var/log/nginx/lobste.rs.access.log main;
24+
# error_log /var/log/nginx/lobste.rs.error.log;
25+
# keepalive_timeout 0;
26+
# server_tokens off;
27+
#
28+
# #ssl_certificate /etc/letsencrypt/live/lobste.rs/fullchain.pem;
29+
# #ssl_certificate_key /etc/letsencrypt/live/lobste.rs/privkey.pem;
30+
# ssl_protocols TLSv1.2;
31+
# ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;
32+
# ssl_prefer_server_ciphers on;
33+
# ssl_dhparam /etc/ssl/dhparams.pem;
34+
# ssl_stapling on;
35+
#
36+
# rewrite ^/(.*)$ https://lobste.rs/$1 permanent;
37+
# # needs libnginx-mod-http-headers-more-filter available in zesty.
38+
# #more_set_headers 'X-Frame-Options: DENY' 'Strict-Transport-Security: max-age=15552000; includeSubDomains; preload';
39+
#}
3940

4041
# main lobste.rs
4142
server {
42-
listen 71.19.148.33:443 ssl http2 default_server;
43-
listen [2605:2700:0:2:a800:ff:fe83:b1e7]:443 ssl http2 default_server;
43+
listen 443 ssl http2 default_server;
44+
listen [::]:443 ssl http2 default_server;
4445
server_name lobste.rs;
4546

4647
access_log /var/log/nginx/lobste.rs.access.log main;
@@ -53,14 +54,13 @@ server {
5354
return 503;
5455
}
5556

56-
ssl on;
5757
ssl_certificate /etc/letsencrypt/live/lobste.rs/fullchain.pem;
5858
ssl_certificate_key /etc/letsencrypt/live/lobste.rs/privkey.pem;
5959

6060
ssl_protocols TLSv1.2;
6161
ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;
6262
ssl_prefer_server_ciphers on;
63-
ssl_dhparam /etc/ssl/dhparams-2048.pem;
63+
ssl_dhparam /etc/ssl/dhparams.pem;
6464
ssl_stapling on;
6565

6666
if ($http_user_agent ~* "Brave") { return 400 "Blocked cryptocurrency scam."; }

roles/nginx/files/test/nginx/sites-available/lobste.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ upstream lobsters_puma_server {
55
server {
66
listen 71.19.144.172:80 default_server;
77
listen [2605:2700:0:2:a800:ff:fec3:aba2]:80 default_server;
8-
server_name lobsters-test.xen.prgmr.com;
8+
server_name test.lobste.rs;
99
access_log /var/log/nginx/lobste.rs.access.log main;
1010
error_log /var/log/nginx/lobste.rs.error.log;
1111

roles/nginx/vars/main.yml

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
22
required_packages:
33
- nginx
4+
- certbot
45
# - libnginx-mod-http-headers-more-filter

roles/postfix/files/etc/opendkim.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ UMask 002
1414
#KeyFile /etc/dkimkeys/dkim.key
1515
#Selector 2007
1616
Domain lobste.rs
17-
KeyFile /etc/dkimkeys/prgmr-0.key
18-
Selector prgmr-0
17+
KeyFile /etc/dkimkeys/lobsters.web01.key
18+
Selector lobsters.web01
1919

2020
# Commonly-used options; the commented-out versions show the defaults.
2121
#Canonicalization simple

roles/postfix/tasks/apt.yml

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
- name: apt-get install postfix
22
apt:
3-
name: "{{ item }}"
3+
name: ['opendkim', 'postfix']
44
state: latest
55
update_cache: yes
66
tags: pkg
7-
with_items:
8-
- opendkim
9-
- postfix

roles/puma/tasks/apt.yml

Whitespace-only changes.

roles/sysadm/files/ssh/production/a-20171001.pub

-1
This file was deleted.

roles/sysadm/files/ssh/test/a-20171001.pub

-1
This file was deleted.

0 commit comments

Comments
 (0)