blob: f16f26feebe96d4c14a8a51216e384f0b1f1247a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# dispatch-tracker
TODO:
* Friendly Error pages
Requirements going forward:
* Pagination for the Invoices page
* Settings:
* `default_bill_to` must be set
* Upload Invoice logos on Identity Objects for use in Invoices
* Change "user" to Vendor on the "Add Load Page"
* Change Name To "Load Pay System" -- we're going to think about it
* Freight Invoicing System
* /loads
* Give a warning when any loads don't have paperwork attached to them
* Make loads without paperwork blue
* Make loads with paperwork green
* A way for users to be invited via email
* Figure out if auditlog timestamps are fucked or not with timezones
To get a development system setup:
``` bash
cd app
virtualenv env
. env/bin/activate
pip install -r requirements.txt
./manage.py migrate
./manage.py createsuperuser
# This will create some fake records if you wish
./manage.py insert_fake_data --companies 10 --users 10 \
--loads 400 --start-date='-16w' --end-date='+16w'
# Default is 2 weeks for start/end date, no
# defaults for any other options
# Run a local development server, listens to the world
./manage.py runserver 0.0.0.0:8080
```
To get a production system setup:
``` bash
export CFG="my-config.yml"
cd app
virtualenv env
. env/bin/activate
pip install -r requirements.txt
cp config.yml $CFG
vi $CFG # This is where you change the SECRET_KEY, static_root, allowed_hosts
# and other settings.
cat uwsgi.ini | sed -e"s/config.yml/$CFG/g" > my-uwsgi.ini
./manage.py collectstatic
./manage.py migrate
./manage.py createsuperuser
uwsgi --ini my-uwsgi.ini # This will start the daemon, it's up to you to
# configure your OS to start it on boot
```
Below is a sample Nginx configuration, edit for your needs:
``` nginx
# It's up to you to configure HTTPs, I _highly_ recommend it
server {
listen 80;
# Uncomment if you have ipv6
# listen [::]:80;
server_name dispatch.example.com;
root /var/www/dispatch.example.com;
index index.html index.htm;
# Some applications have trouble with merged slashes
# This likely doesn't but worth noting
merge_slashes off;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9200;
}
# Pass through the static directory
# This should match whatever is in your config file
location /static {
alias /var/www/dispatch.example.com/static;
}
# This is probably going to be pulled from dispatch/static/robots.txt
location /robots.txt {
alias /var/www/dispatch.example.com/static/robots.txt;
}
# Enable logging
# You will likely have to create these directories for Nginx to load
access_log /var/log/nginx/dispatch.example.com/access.log;
error_log /var/log/nginx/dispatch.example.com/error.log;
}
```
|