Skip to content

Commit 425723b

Browse files
committed
Setup frugalfuel app
1 parent f6eba0b commit 425723b

File tree

6 files changed

+87
-11
lines changed

6 files changed

+87
-11
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
frugalfuel_base_dir: "/home/frugalfuel/frugalfuel_app"
3+
frugalfuel_django_virtualenv_dir: "{{ frugalfuel_base_dir }}/virtualenv"
4+
frugalfuel_django_listen_port: 5001
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
- name: Make frugalfuel base directory
3+
file:
4+
path: "{{ frugalfuel_base_dir }}"
5+
state: directory
6+
7+
- name: Make data directories for loading
8+
file:
9+
path: "{{ frugalfuel_base_dir }}/{{ item }}"
10+
state: directory
11+
loop:
12+
- data
13+
- data-raw
14+
15+
- name: Make frugalfuel django virtualenv base directory
16+
file:
17+
path: "{{ frugalfuel_django_virtualenv_dir }}"
18+
state: directory
19+
20+
- name: Copy production env file
21+
template:
22+
src: /Users/esteele/Code/local_setup-scripts/ansible/roles/frugalfuel_app/templates/production.env.j2
23+
dest: "{{ frugalfuel_base_dir }}/production.env"
24+
mode: 0600
25+
26+
- name: Setup frugalfuel django virtualenv - install_requires
27+
pip:
28+
virtualenv: "{{ frugalfuel_django_virtualenv_dir }}"
29+
virtualenv_python: python3.7
30+
virtualenv_command: /usr/local/bin/virtualenv-3
31+
name: git+https://github.com/edwinsteele/petrol_prices.git
32+
33+
# Can move to gunicorn 20.x once a release has been made that includes
34+
# https://github.com/benoitc/gunicorn/commit/2d40e6daceb9735d27bb91d9c32743695de8e01c
35+
- name: Setup frugalfuel django virtualenv - gunicorn
36+
pip:
37+
virtualenv: "{{ frugalfuel_django_virtualenv_dir }}"
38+
virtualenv_python: python3.7
39+
name: gunicorn==19.9.0
40+
41+
# install
42+
# template copy rc file
43+
# service enable
44+
# create database if not already (django-admin migrate) -> creates db file
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
daemon="/home/frugalfuel/{{ frugalfuel_django_virtualenv_dir }}/bin/gunicorn"
2+
daemon_user="frugalfuel"
3+
daemon_flags=--log-file - --bind 127.0.0.1:{{ frugalfuel_django_listen_port }} project.wsgi
4+
5+
#pexp=
6+
7+
8+
#--log-level {{ captiveportal_log_level }} \
9+
#--pid {{ captiveportal_pid_file }} \
10+
#--bind 127.0.0.1:{{ captiveportal_listen_port }} captiveportal:app
11+
12+
. /etc/rc.d/rc.subr
13+
14+

ansible/roles/nginx_frugalfuel.com/files/frugalfuel-com.conf

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,29 @@ server {
1010
server_name www.frugalfuel.com frugalfuel.com origin.frugalfuel.com;
1111
root /var/www/htdocs/www.frugalfuel.com;
1212
index index.html;
13-
error_page 404 /pages/404.html;
1413
access_log /var/www/logs/www.frugalfuel.com-access.log;
1514

1615
#add_header Content-Security-Policy "default-src 'self'; base-uri 'self'; form-action 'none'; frame-ancestors 'none'; frame-src *.vimeo.com; child-src *.vimeo.com; connect-src 'self'; img-src 'self' https://*.cloudinary.com https://*.tile.openstreetmap.com; media-src *.vimeo.com; object-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; report-uri https://frugalfuel.report-uri.com/r/default/csp/enforce" always;
1716
ssl_certificate /etc/ssl/frugalfuel.com/fullchain.pem;
1817
ssl_trusted_certificate /etc/ssl/frugalfuel.com/fullchain.pem;
1918
ssl_certificate_key /etc/ssl/private/frugalfuel.com/privkey.pem;
2019

21-
location ~* \.(jpg|jpeg|gif|png|ico) {
22-
expires 365d;
23-
}
24-
location = (index.html|archive.html) {
25-
expires 1h;
20+
location / {
21+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
22+
proxy_set_header X-Forwarded-Proto $scheme;
23+
proxy_set_header Host $http_host;
24+
# we don't want nginx trying to do something clever with
25+
# redirects, we set the Host: header above already.
26+
proxy_redirect off;
27+
proxy_pass http://127.0.0.1:5001;
2628
}
27-
location ~* \.(html|json|js|css|eot|woff|ttf|svg) {
28-
expires 1d;
29+
30+
error_page 404 /pages/404.html;
31+
error_page 500 502 503 504 /500.html;
32+
location = /500.html {
33+
root /var/www/htdocs/www.frugalfuel.com;
2934
}
35+
3036
location /.well-known/acme-challenge {
3137
alias /var/www/letsencrypt;
3238
}

ansible/roles/nginx_frugalfuel.com/tasks/main.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
user:
44
name: frugalfuel
55
system: yes
6-
password_lock: yes
76
password: '*************'
8-
shell: /sbin/nologin
97
comment: Service account for frugalfuel web files
108

119
- name: Create Let's Encrypt directories

ansible/site.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@
1919
roles:
2020
- webhost
2121

22+
# Frugalfuel user has a locked account, so we use become so that perms are
23+
# correct.
24+
- hosts: webservers
25+
strategy: linear
26+
roles:
27+
- frugalfuel_app
28+
become: yes
29+
become_method: doas
30+
become_user: frugalfuel
31+
2232
- hosts: firewalls
2333
roles:
2434
- firewall
@@ -27,7 +37,7 @@
2737
- /Users/esteele/Code/local_setup-scripts/ansible/roles/firewall/vars/local_address_vars.yml
2838

2939
- hosts: all
30-
user: esteele
40+
remote_user: esteele
3141
roles:
3242
- esteele_contents
3343
- git

0 commit comments

Comments
 (0)